JetBrains, plugins + me

by Matt 20. June 2012 06:35

I've just checked, and I've been working on the xUnit.net ReSharper test runner for nearly 3 and a half years. I've always enjoyed writing tools and plugins, possibly more than server side or front end coding, the stuff that's paid the bills. I like building tools that help make people more efficient, and then gets out of the way. I love the idea of tweaking or extending a tool and making it to do new and interesting things.

One of my all time favourite tools is ReSharper. I’m a huge fan, use it constantly, and don’t know how I managed to develop without it. I know ALL the keyboard shortcuts and everything.

Which means that I'm VERY excited that from the start of July, I'm going to be part of JetBrains' .net developer evangelism team, working with Hadi, Jura and the others. Specifically, I'll be focussing on the extensibility features of ReSharper and the other .net tools (dotCover, dotTrace, dotPeek - yep, these guys are extensible too).

In other words, I'll be working on plugins.

Or rather, working with the whole plugin ecosystem. While it will involve writing, maintaining and publishing plugins, it's also a very community facing role. I'll be involved in, and provide support for, the existing community of plugin authors - helping out with issues and updates, gathering feedback, improving the ReSharper SDK. I’ll be encouraging new plugins by working on blog posts and tutorials, and participating in JetBrains events and community gatherings. Everything I can to improve ReSharper as a platform.

In some respects, this is quite a departure to what I've done in the past. I've worked in C++ and C#, a bit of Java and even some Flash (don't tell anyone). I've been a developer, team lead or architect in small code shops and several big enterprises. Now I'm going to be working from home (which beats the London commute I've been doing for the past few years), with a very social, community focussed role, working full time on the kinds of things I've been tinkering with in my spare time.

I'm massively looking forward to it.

Tags: , , , , ,

Running xUnit.net tests in dotCover 2.0 EAP

by Matt 18. April 2012 10:03

JetBrains recently released an EAP of dotCover 2.0. Up until now, dotCover required ReSharper to enable code coverage of unit tests – it integrated itself nicely in the ReSharper menus and UI, and would provide a coverage analysis of the code executed during a test run.

dotCover

Starting with this 2.0 EAP, you no longer need ReSharper installed. DotCover provides support for its own test runner and test runner plugins. In fact, it comes bundled with a port of the unit test support and framwork from ReSharper, so you won’t actually be able to tell the difference.

Which means, of course, a new build of xunitcontrib to provide support for dotCover. This is a separate release to the ReSharper support – while the products have (pretty close) source code compatibility, there isn’t (yet?) binary compatibility.

Installation instructions are as simple as for the ReSharper plugin:

  1. Make sure you UNBLOCK the downloaded zip file (right click –> properties –> Unblock).
  2. MAKE SURE YOU UNBLOCK THE DOWNLOADED ZIP FILE (just checking)
  3. Extract the zip and copy the xunitcontrib.runner.dotcover folder into C:\Program Files\JetBrains\dotCover\v2.0\bin\plugins (you will probably need to create the plugins folder)
  4. Restart Visual Studio.

Once installed, xUnit.net tests should be recognised, and you should now be able to run, debug and cover xunit tests.

Note that you DO NOT NEED this plugin if you have ReSharper (and the appropriate xunitcontrib version) installed. By default, dotCover still integrates with ReSharper, if it’s available.

If, however, you want to see what all the fuss is about, you can disable ReSharper’s unit test implementation, and use dotCover’s. Simply go to the ReSharper –> Options –> Unit Testing, uncheck “Enable Unit Testing”, and then go to the dotCover –> Options –> ReSharper Integration and uncheck “Hide all actions and tool windows related to unit tests in dotCover and use ReSharper’s implementation”. You will now be using the dotCover unit test implementation.

It’s going to look very familiar.

dotCover-TestRunner

(And don’t forget to check out the “Colour Scheme” options if you’ve customised your Visual Studio colours. “Dark” makes SUCH a difference)

dotCover-Coverage

Tags: , ,

Month List

RecentComments

Comment RSS