Obviously, testing methods are language-independent. An integration test stays an integration test no matter what the technology.

But platforms implement some kinds of testing support. And the details vary between implementations, so a programmer has to learn how to use the tools of their framework. And platforms evolve, so best practices in one version may become obsolete or at least inefficient in the next version. See for example this StackOverflow question about unit tests for which at least the first three answers seem to be valid: One describing the correct solution for the current version, one describing the solution which used to be best before the .NET framework included an ExpectedException attribute, and one describing a generic solution which is tool-independent.

My question is: were there any major testing-related changes between the .NET framework versions 3.5 and 4.5? Something as disruptive to testing as introducing generics was to programming in general, or introducing the Membership framework was to authentication? Or were there only small enhancing changes?

I am asking this because I wonder whether learning materials written for 3.5 are still reasonably valid today.


1 Answer 1


I would say 3.5 testing information is still reasonably valid. Microsoft has added some enhancements, but I wouldn't call them disruptive or assert that the paradigm has shifted.

One change is code contracts, though I don't think they affect unit testing so much as provide an additional/improved way to validate parameters, which may change the way code is tested.

Most of the changes/improvements are not with the framework but more with the IDE -- Visual Studio 2012 introduces some new tools and features, including support for third-party frameworks, test management, as well as a new isolation framework called Fakes.

Fakes is a great addition (if you have the 2012 Ultimate version), but arguably not much different than third-party frameworks that were available previously, most notably Typemock Isolator.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.