views:

674

answers:

2

Resharper Unit Test Runner runs significantly slower than nunit-console or nunit gui.

For example, 3800 tests take just over 60 seconds via nunit-console, but those same tests take over 5 minutes to run in Resharper Unit Test runner. Why such a significant difference?

Since our test code base has grown significantly, this is really starting to slow us down. Has anyone else experienced similar problems? How have you dealt with it?

The Resharper Visual Studio integration is really nice, however we might need to resort to something else.

+5  A: 

I had the same issue and I switched to TestDriven.Net, it's lightning fast.

Mauricio Scheffer
+1 for Jamie Cansdale's TestDriven.NET. It is a super piece of software. However, I find Resharper's test runner to be satisfactory when running smaller test suites.
Stuart Thompson
+5  A: 

I don't think the goal of Resharper was to provide a utility to execute an entire test suite from within Visual Studio. That is usually the goal of a build server or test suite server running continuous integration tools (like NUnit launched from CruiseControl)

The Resharper unit test runner appears best leveraged by running small sets of unit tests to diagnose and satisfy a particular unit of code. It allows you to create focused test suites that can be conveniently run from within the studio, debugged, repeated, and analyzed quickly without waiting for builds.

I would recommend leveraging a build server for running the complete suite of tests.

Stuart Thompson
We are using a build server to run the tests, but our policy here is to try your best not to break the build before committing changes. So we typically run all the unit tests before a commit.
jamesaharvey
R#'s test runner is very handy for quick debugging. To avoid breaking the build, you could use something like TeamCity's Personal Build or Pre-Commit options. See http://www.jetbrains.net/confluence/display/TCD4/Personal+Build Optionally, just run NUnit from the Tools menu.
TrueWill