Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adding NUnit to the options for ASP.NET MVC test framework

  • I have nUnit installed.
  • I have VS2008 Team Edition installed.
  • I have ASP.Net MVC Preview 4 (Codeplex) installed.

How do I make Visual Studio show me nUnit as a testing framework when creating a new MVC project? At this point I still only have the Microsoft Testing Framework as a choice.

Update: I installed nUnit 2.5, but still with no success. From what I've found Googling, it would seem I need to create templates for the test projects in order for them to be displayed in the "Create Unit Test Project". I would have thought that templates be readily available for nUnit, xUnit, MBUnit, et. al. Also, it looks like I need to created registry entries. Anybody have any additional information?

Update: I determined the answer to this through research and it's posted below.

like image 563
Peter Meyer Avatar asked Aug 21 '08 20:08

Peter Meyer


People also ask

How we test .NET application using NUnit?

Creating the first test Save this file and execute dotnet test to build the tests and the class library and then run the tests. The NUnit test runner contains the program entry point to run your tests. dotnet test starts the test runner using the unit test project you've created.

What is NUnit testing framework?

NUnit is an evolving, open source framework designed for writing and running tests in Microsoft . NET programming languages. NUnit, like JUnit, is an aspect of test-driven development (TDD), which is part of a larger software design paradigm known as Extreme Programming (XP).


1 Answers

After a bunch of research and experimentation, I've found the answer.

  • For the record, the current release of nUnit 2.5 Alpha does not seem to contain templates for test projects in Visual Studio 2008.
  • I followed the directions here which describe how to create your own project templates and then add appropriate registry entries that allow your templates to appear in the drop-down box in the Create Unit Test Project dialog box of an MVC project.

From a high level, what you have to do is:

  1. Create a project
  2. Export it as a template (which results in a single ZIP archive)
  3. Copy it from the local user's template folder to the Visual Studio main template test folder
  4. Execute devenv.exe /setup
  5. Run regedit and create a few registry entries.

So much for the testing framework selection being easy! Although, to be fair MVC is not even beta yet.

After all that, I did get the framework of choice (NUnit) to show up in the drop down box. However, there was still a bit left to be desired:

  • Although the test project gets properly created, it did not automatically have a project reference to the main MVC project. When using Visual Studio Unit Test as the test project, it automatically does this.
  • I tried to open the ZIP file produced and edit the MyTemplate.vssettings file as well as the .csproj project file in order to correct the aforementioned issue as well as tweak the names of things so they'd appear more user friendly. This for some reason does not work. The ZIP file produced can not be updated via WinZip or Win-Rar -- each indicates the archive is corrupt. Each can extract the contents, though. So, I tried updating the extracted files and then recreating the ZIP file. Visual Studio did not like it.

So, I should probably read this as well which discusses making project templates for Visual Studio (also referenced in the blog post I linked to above.) I admit to being disappointed though; from all the talk about MVC playing well with other testing frameworks, etc, I thought that it'd be easier to register a 3rd party framework.

like image 66
Peter Meyer Avatar answered Sep 23 '22 01:09

Peter Meyer