I’ve just flicked the switch and published the xunitcontrib project on Codeplex. My first Open Source project. How nice.
Hopefully, xUnit.net will need no introduction. It’s a very nice unit testing framework; minimalist, idiomatic and opinionated.
The only problem was, the ReSharper runner kept crashing.
So after getting the source and getting a little carried away fixing a few other bugs, I wanted to contribute the changes back. Only to find that the project leads, Brad Wilson and James Newkirk, were looking for someone else to maintain the ReSharper runner (it’s a moving target for them, and I believe neither of them use it).
And so here we are with the xunitcontrib project.
Currently, it’s just the ReSharper runner, but I want that to change quite quickly. I’ve created a Roadmap page on the project site to list some ideas. I want to keep updating the ReSharper runner, and I want to add a nant runner, but I really want to get to the meat of the project – the xunitcontrib.dll.
If you look at xunit, it’s split into 3 parts, the core, xunit.extensions and samples. I see this project as sitting between xunit.extensions and samples. Second party extensions, if you will. Extensions that can afford to have a narrower focus than the framework, or perhaps they don’t quite adhere to some of the core sensibilities of xunit (the ordered tests in the samples is a good example of this – xunit randomises tests by default).
Another thing I’d like to see is a way to ease migration towards xunit. I want to use xunit at work, but the projects I’m working on have too much of an investment in nunit, and the inertia this has built up is rather daunting. I’d like to make it easy to just start using xunit. That said, I’m not too sure what this would look like.
So if you’ve got any comments or suggestions, then please post them to the Discussions page or raise a work item in the Issue Tracker. Or just go grab the download for some ReSharper test runner goodness.