Question

What are the differences between using a VS integrated tool like Testdriven.net or using a GUI test runner like Icarus or NUnit GUI?

What do you prefer and why?

So far i've found that reports are better in Icarus than in td.net, which only features a commandline output. However td.net is faster to use, i can execute single tests more easily without having to uncheck the rest first. NCover integration is very nice also.

Was it helpful?

Solution

Icarus has one great feature that keeps me using it. It is the automatic reload and rerun of tests.

I keep Icarus hovering over on the left hand monitor. Each time I build in Visual Studio, Icarus reloads the assemblies and runs all the tests. It's sort of like the instant feedback of Resharper's Solution Analysis, except for tests instead of syntax. Running the tests is automatic and doesn't seem to affect the performance of Visual Studio (likely b/c Icarus is it's own process, not hosted inside the IDE).

To enable this configuration go to Icarus->Options->Test Explorer. Check 'Always reload files' and 'Run tests after reload'.

OTHER TIPS

Do you have a Continuous Integration server (like a build server, but runs unit tests)?

If so, you can set up gallio to run your unit tests and have all the reporting information there while allowing the developers to use something with faster feedback while they are working.

If there is no option, I prefer something that is integrated into the IDE like Testdrvien. The immediate feedback is really helpful when refactoring a piece of code or developing something new under TDD. Besides, if you don't have the sanity checking going on at a single point (like a CI server), you are going to want as many eyes as you can find on those unit tests. Developers tend to use whatever is easiest and, generally, an integrated test suite is easier than a separate component.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top