Monday, March 12, 2012

What's New in Visual Studio 11 Beta Unit Testing

Inline image 2

For those of you who haven’t been following the changes to unit testing that we first previewed back at the //BUILD/ conference, and for those you who did but want to know what has changed, this post is going to take you through the whole thing. We have made a lot of changes to testing in Visual Studio. These changes are pretty drastic in some cases, but were driven by years of customer feedback and a clarification of our focus and vision.

Customer Feedback

Ever since we first shipped unit testing back in Visual Studio Team System we’ve been given praise and criticism for what it was. It was too slow. Some called it a bad copy of NUnit. Many said we should have just shipped NUnit. There was no support for C++ or Javascript or anything else. As time went on, even though we did a lot of work to bring the performance to parity with other frameworks, the label “too slow” still stuck and more and more people went back to using other test frameworks like NUnit or xUnit.net. But then they had no integrated experience and had to use third party VS plugins to run their tests in the IDE. Additionally, our test framework (colloquially known as MS-Test) was not as fast to evolve as other frameworks, due to the nature of our release cycle and of our back-compat requirements.
Another criticism we got from developers, and agile developers in particular, was that our user experience felt like it was designed for testers and didn’t support a rapid test-code-test-code rhythm like that followed by agile developers. Again, we made small steps to improve this over time (double click to code in VS2010 was one step) but still people wanted more. It just didn’t feel like a tool for developers and agile folks.

So for Visual Studio 11, we bit the bullet and committed to changing this, so let’s see what we did…

The Unit Test Explorer

In VS11, we have replaced the old Test View and Test Results windows with the Unit Test Explorer. This new user interface has a number of important elements that let developers quickly interact with their tests.

Read more: Geek Noise
QR: Inline image 1

Posted via email from Jasper-Net