There are some great features of Unit Testing in Visual Studio 11. I am excited to see how the new version of Visual Studio brings new features and abilities, improving upon some things that were difficult in 2010.
Creating Unit Tests
First things first, you’ll want to know how to create and run a unit test! In Visual Studio 11, you have the ability to plug in MSTest, NUnit, and xUnit without extra hassle. You will also be able to build and run these test cases with a build definition (on a build server). In this first video, I make a simple test case and run it using the Unit Test Explorer.
Running Unit Tests
Now that you’ve seen how to run a unit test after creating it, let’s dive a bit deeper. Featured below are more of the specifics of the Unit Test Explorer, how to run unit tests, and some highlighted features within it.
Debugging a Failed Unit Test
What happens when you run into a failed unit test? The Unit Test Explorer will give you information about the failed test (i.e. why it didn’t pass, the exception, if one was thrown, the stack trace, etc.) as well as jumping right to the code when double clicked. This video looks at these aspects and fixes a unit test that has failed.
A new feature with Visual Studio 11, is the ability to search for code clones within your solution. There are two, in my opinion, very helpful approaches to take. I will go into both, but there is one thing I want to note: Visual Studio 11 will analyze/search for code clones only within the solution that is open. So, if you have other projects that do not exist within your solution but you will reference them, they will not be analyzed/searched for clones.
Analyze for Code Clones
The first approach when looking for code clones is to merely analyze your entire solution for code that seems similar. This doesn’t simply look for code that is identical, but also code that is simple. This means you may consider refactoring code to keep the cost of maintenance down in the future.
Search for Code Clones
The second approach for looking for code clones doesn’t look at the high level solution, but instead, searches for specific lines that you deem may be similar elsewhere in the solution. This is helpful in similar ways to searching the whole solution, but it also has other advantages. For instance, if you’re writing a new method that seems oddly familiar, you can highlight code and search for a clone to see if it has already been written.
In Visual Studio 11, you can now easily analyze the code coverage your tests have, (whereas it would take eight clicks in Visual Studio 2010). The video below shows how to run code coverage and shows the results in the new Code Coverage Results view.
Run Tests After Build
Visual Studio 11 does not directly have test impact analysis, such as Visual Studio 2010 did. Test impact analysis is not visible via a Build in Test Manager. Instead, they have added the ability to run unit tests after a build. There is of course logic as to which tests to run, but it is not logic based off of test impact analysis. This video will run through the logic path that will happen when tests run automatically after a build is complete.
All in all, there are some pretty neat features in Visual Studio 11 for unit testing. It has definitely been made easier to do common scenarios that one would find in an ALM environment. I think some of my favorite features are the new views and the ability to look for redundant code that can be refactored.
-Find other related Dev on Demand Videos.
Do you want to move to Visual Studio 11 NOW? For help moving forward, please contact Rick.Flath@nwcadence.com.