Walkthrough: Run Tests and View Code Coverage
To see what proportion of your project's code is actually being tested, use the code coverage feature of Visual Studio Team System testing tools. To do this, first edit the run configuration to indicate the assembly containing the code whose coverage you want to measure; then, run tests on that code. Detailed code coverage statistics appear in a window, and you can also see, line-by-line, which code has been tested.
Perform the steps in the procedure "Run a Unit Test and Fix Your Code" in Walkthrough: Creating and Running Unit Tests. This creates the two tests that you will run in the following procedure.
To run tests and view code coverage
In Solution Explorer, note the name of your solution. If you used the project from Walkthrough: Creating and Running Unit Tests, the solution's name is Bank. This solution contains the code-under-test.
In Solution Explorer, under Solution Items, double-click the run configuration file, localtestrun.testrunconfig.
The localtestrun.testrunconfig dialog box appears.
Click Code Coverage.
Under Select artifacts to instrument, check the box next to the Bank.dll whose path is indicated as <Solution Directory>\Bank\bin\Debug.
Click Save As and then click Save in the dialog box. A message box appears asking you if you want to save the existing file. Click Yes in the message box to replace the existing file.
On the Test menu, point to Select Active Test Run Configuration. A submenu displays all the test run configurations in the solution. Put a check mark next to the run configuration you just edited, localtestrun.testrunconfig; this makes it the active test run configuration.
In the Test List Editor, select the check boxes next to CreditTest and DebitTest, right-click, and then click Run Checked Tests.
The two tests run.
On the Test Tools toolbar, click Code Coverage Results.
The Code Coverage Results window opens.
In the Code Coverage Results window, the Hierarchy column displays one node that contains data for all the code coverage achieved in the latest test run. The test run node is named using the format <user name>@<computer name> <date> <time>. Expand this node.
Expand the node for the assembly, Bank.dll, for the namespace, BankAccountNS, and for the BankAccount class.
The rows within the BankAccount class represent its methods. The columns in this table display coverage statistics for individual methods, for classes, and for the entire namespace.
Double-click the row for the Debit method.
The Class1.cs source-code file opens to the Debit method. In this file, you can see code highlighting. Lines highlighted light blue were exercised in the test run, lines highlighted beige were partially exercised and lines highlighted reddish brown were not exercised at all. By scrolling, you can see the coverage for the other methods in this file.
If you selected the check box for TestProject1.dll in step 7, you can open Class1Test.cs, the source-code file containing your unit tests, to see which test methods were exercised. The same highlighting scheme applies: light blue indicates exercised code; beige indicates a partially exercised code path, and reddish brown indicates a code path that was untraveled in the test run.