Beware of .NET 4.6 Workstation GC

Saturday, August 8, 2015

TL;DR: Changes in the .NET 4.6 Workstation GC has made it much slower for us. We had to make sure our tests are using the Server GC mode. VS 2015 came out and we happily upgraded. Everything worked great, except for one thing: our integration tests started to run slowly. Like 10 times slower. The thing is, the same code, when not running under the NUnit process, worked just fine. Something was afoot. After much investigation and profiling, we discovered the root cause: GC. Our integration tests run our entire system start-up process, which allocates a few gigs of...
no comments

Tip for Profiling NUnit Tests

Thursday, December 15, 2011

This is just a tiny little note that can save you some precious time. This article explains exactly what you need to do in order to profile NUnit tests with dotTrace (gotta love products with special placement of capital letters) 4.0, except it misses an important detail. The latest versions of NUnit run the actual tests in a separate process, called nunit-agent.exe. So, if you profile nunit-console.exe you won’t see your code there at all. You have to run NUnit in a single process mode. To do that just add /process:Single to the nunit-console command line arguments, and everything...
tags:
no comments

PowerShell script to convert VSTS tests to NUnit

Saturday, January 9, 2010

A while ago we decided to convert all our test projects to NUnit. We found Microsoft’s test framework to be overly complicated, much slower, and with less features. So, in order to make the transition easier, I wrote this PowerShell script to convert VSTS test projects and files to NUnit. I didn’t know any PowerShell beforehand, so it took me a bit to get it right, but the script works nicely now. We’ve run it against dozens of test projects (VS 2005, VS 2008, and it also works with VS 2010 beta 2, as I tried it at...
one comment