How Testing relates to ASP.NET MVC/WEBFORMS Silverlight MVVM

How Testing relates to ASP.NET MVC/WEBFORMS Silverlight MVVM

Ive been learning MVC2 and MVVM lately and I think it works like this.

ASP.NET MVC2 - Can test the whole web site using unit tests

ASP.NET MVC2 + jquery web service calls - Can no longer just use MSTest unit test. What is the MS product to test the javascript side?

ASP.NET Webforms - Unit Tests are near impossible when the coder doesnt create the Webforms site with Testing in mind. Therefore Asp.NET web performance tests are the closest thing to testing that is realistic. Coded UI Tests are too trivial to really be useful for things like ASP.NET validators.

ASP.NET Webforms + jquery web service calls - Can only unit test the web service calls. Cannot use Web Performance tests because of javsscript calls. Need some sort of javascript testing framework.

Silverlight - No tests. Maybe Coded UI Tests.

Silverlight MVVM - Use silverlight unit test framework to test ViewModel similiar to MVC.

Silverlight MEF - How does MEF affect testing scenerios if at all ?

Is this accurate? Is there anything I am missing ?

I am trying to make a argument to the people in charge that we should use MVC over Webforms so that we can create automated testing. As it is we are doing Webforms all in one project and impossible to test so people just test off of manual scripts :( MVC Visible/hide


AppFabric vs Unity vs Memcached or possibly any other multi server caching mechanisms [closed]
Rather than specifying the reasons why you should use MVC over Webforms, I'd take a step back and sell the management team on why you should use unit tests. ASP.NET MVC/LINQ - retreiving tables and number of connections After that's sold you have a case of saying this MVC would allow you to did this more efficiently than webforms.. Is it better to return the most specific or most general type from an action method? Are you looking at going the full TDD route, or just creating tests after? I'd highly recommend going down the TDD path even though it does have a steeper learning curve and will lessen your productivity while you are learning it.. How to make these 2 blocks of almost identical code reusable? Since you are already looking into testing, you probably know most of these, although I'll re-iterate any of the benefits:. Using ASP.NET MVC 2, StructureMap, Fluent NHibernate, and PostgreSQL Less defects receive through to QA.. ASP.NET MVC application security Tests must be created for issues this QA and customers find.. What separates self taught from trained professional devolpers? [closed] Designing for testing creates a more loosely coupled application which tend to be more maintainable.. Increased developer confidence when making changes leading to sustained productivity as the application code base matures.. Tests are great documentation for new developers joining the project, as they must see what's endeavor to be achieved.. Note: the cost of fixing a defect this has made it through to production must be up to 80 x the cost of finding and fixing it in the development and QA process (I'll try to find my source for this figure).. Unit testing is only one piece of the puzzle though, you'll also want to look at using a Continuous Integration server such as CruiseControl.NET to automate your builds and tests. This will make sure this everyone keeps the build in a working state.. For an existing Webforms project you might also want to look into the Web Client Software Factory. I've found it to be very useful for migrating legacy webforms apps over time, though it's a little more convoluted than MVC2..


I don't know around another technologies, although I must talk around using Silverlight with MVVM pattern. Using MVVM pattern along with command pattern, i have been able to unit test all of our C# code. I mean barring xaml code, i have a very high code coverage for our C# code. We actually use a modified version of MVVM wherein i also use a controller. If you ensure this you have no code in code-behind files, you must simulate although ton click/another such UI events. This is very useful for integration tests. We have found out this our pattern of MVVM along with controller and using command pattern facilitates unit testing..

95 out of 100 based on 40 user ratings 155 reviews