The Developer and Tester editions of Visual Studio Team System bring the advantages of unit testing to the developer by fully integrating features with the development environment. If you're new to unit testing, this chapter has provided an overview of what unit testing is, how to create effective unit tests, and some of the principles behind test-driven development. We covered the creation and management of unit tests and detailed the methods and attributes available in the unit test framework. You should be familiar with attributes for identifying your tests as well as many of the options that the Assert class offers for testing behavior of code.
You've learned how to generate code with Team System, either by generating tests from code or code from tests. As you saw, it is also very easy to bind unit tests to a data source to create data-driven tests. This chapter also showed that Team System offers a simple way to access private members for testing, addressing a need that previously required manual workarounds.
You've also seen that ASP.NET developers can now create unit tests against web applications without relying on external tools and frameworks. Finally, you learned how to use code coverage to help identify where your unit tests may have missed some scenarios.
If you have been using other frameworks for your unit testing to date, you'll enjoy not having to leave the IDE to work with your tests, as well as the familiar options and syntax that Team System offers.
We strongly encourage you to become familiar with the benefits of unit testing, keeping in mind that unit tests are not a replacement for other forms of testing, but a very strong supplement.
Over the next three chapters, we'll continue our look at those other forms of testing that Team System Team Tester Edition supports. You'll learn about load and web tests in Chapter 15, manual tests in Chapter 16, and custom tests in Chapter 17.