Published on ThoughtShapes (http://thoughtshapes.com) © ThoughtShapes, Inc.

A Very Quick Resharper 3.0 Review

By Steve Seymour
Created 06/22/2007 - 10:16pm

I'm currently working on a project that contains C# as well as VB.NET. 95% of my time is spent with C#, fortunately, since that is my strength, but since I do have to foray into VB and since I'm in love with Resharper [1], I downloaded the official release of Resharper 3.0 today and tried it out. Along with the VB.NET support it now has, I was interested in seeing any other cool features they've added to it.

Unfortunately I came away disappointed...at least for now. By no means did I spend a huge amount of time digging through all of the functionality, but, then again, the reason I didn't was because I am a bit of a TDD hound and I really don't like what they've done with the integrated unit test runner. There are two changes I don't like at all:

  1. In Resharper 2.x the unit test runner leaves a stacktrace of a failed test, along with a link that can be clicked that brings you right to the line in the code that failed. 3.0 appears to have left this feature out and to me it's a HUGE mistake. In 3.0 you are given one line that says the test failed and the reason it failed. You can click on this line but all it does is take you to the test method signature, not the offending line. This wastes my time and energy compared to the 2.x version, to the point where the waste is quite annoying. If JetBrains never gave me the stacktrace-and-link feature in 2.x I'd probably be loving 3.0, but why would they take away this feature for a new version? The person/team behind this decision was clearly not on the ball the day it was decided to remove such a wonderful feature. [Note: After writing this blog post, I received correspondence from JetBrains that there is a "Preview" button that will show the stacktrace output. Although I did try the preview button at one point, I didn't see the stacktrace, so I'll assume I was using it incorrectly. On the other hand, I'm not sure why the original, simple, and easy to use feature was made more complicated. Do I need to see some test failures without the stacktrace and some with it? Smells like needless complexity in the UI to me.]
  2. Resharper 2.x groups successful, failed, and ignored tests in three different tabs, and at the top of each tab I could see the number of tests belonging to each group--all at once. Because of this nice feature I could glance at the tabs and immediately tell how many tests belong to each group. This is gone now, too, replaced by an ability to filter out tests by their success, failure, or ignored categorization. The problem with this is that I don't have the same high-level view that I used to, because the tests are all stored in the same window (no more tabs) regardless of the success, failed, or ignored category they belong to. I don't like this at all. Instead, the test runner interface is uselessly spruced up a little bit (I'm not sure this is even true, but I'll give JetBrains the benefit of the doubt). When are people going to realize that it's the solid features of a frequently used tool that are important and not its cool colors or whizbang widgets? I'm not a kid playing with a toy...I need to get work done as fast and easy as possible.

I could've maybe looked by these issues. Maybe. However, when I decided to grant JetBrains my forgiveness and move forward, I started writing a unit test using our trusty "xtm" live template [2](which generates a test method). Instead of the code appearing as it always has, the [Test] attribute was where it should be but the test method itself was way over to the left instead of properly indented where one would expect a method in a class to be. At this point I was thinking, "Hmmm....this hasn't been a good start. Maybe there is a setting somewhere to fix this?"

I tried to find a setting to no avail. Just before I was going to give up hope I tried clicking on the familiar Resharper menu and it froze up in Visual Studio. No matter which menu I clicked nothing happened.

And this was then followed by a Visual Studio crash. At this point my test was over. No more Resharper 3.0 for me until I hear they've straightened out the kinks. I'm not worried about the live-template-generated test getting placed in the proper position or the Visual Studio crash. These things I'm quite confident they'll get right. I am concerned, though, with the missing features in the unit test runner. Do they plan to add them back? If not, why not?

There was a new concept of a "test session" that could maybe give me what I'm looking for in terms of the success, failed, and ignored tabs. Perhaps one can create a "test session" for each category, but I'm not sure. Regardless, I probably won't switch back until, at the very least, they add the failed-test-stacktrace back in. This is something I totally love and I don't want to work without it.

Those that know me know how much I love Resharper. Hopefullly they'll get things tidied up in 3.0. I'm usually extremely confident in anything JetBrains does (their dotTrace tool is excellent, too). This time, though, I'm not so sure. They'll have to prove it to me.


Source URL:
http://thoughtshapes.com/node/58