Uninstalling the dotcover stops Resharper from running unit tests.

Finally, I uninstalled dotCover because the "trial license" was long expired and the "Please register" dialog box caused both hassle and problems. The Add-in did not load without license, so it couldn't be disabled from the GUI.

Now, Resharper wont run unit tests. Not from unit test explorer, not from hotkeys, not from test session, not from code sidebar. Nothing.

So, if you are in the same situation, do not uninstall dotCover, but disable it from the ini-file.

0
11 comments
Avatar
Tormod Jervell Steinsholt

Update:

Repairing Resharper installation does not work.

Uninstalling and reinstalling Resharper does not work.

This is licensed version Resharper5 RTM which is now completely unable to run unit tests.

Probably because the hook-ins used by dotCover do not uninstall nicely.

0
Avatar
Tormod Jervell Steinsholt

Installing the dotCover did not help.

0

Hi Tormod.
If your trial period is over all you need to do is to install new nightly build.
dotCover plugin  for ReSharper is installed dynamically each time the VS starts.
So  if dotCover is uninstalled or disabled, it can't affect ReSharper.
It  seems to be a MSTest issue.
Please provide additional info, I've sent you an email with description on how to obtain ReSharper log files.


0
Avatar
Tormod Jervell Steinsholt

It appears that the uninstallation of dotCover was a red herring. Unfortunate coincidence.

I have reproduced the problem with a computer that never had dotCover installed.

I have also tried a fresh solution, in which case Resharper works just fine.

I apologize for the confusion.

Resharper is still not executing unit tests on my production solution, but I was wrong about this being connected to the uninstall of dotCover.

Right now it appears that this is linked to the MSTest Accessors (MSTest utils for accessing private class members in the production code) causing the UnitTestFramework.dll to load twice. Resharper appears to run into that even though the badly coded test Assembly is never touched by the unit tests that I try to run, nor that there is any dependency to it.

But I haven't yet confirmed that hypothesis.

0

I can't reproduce this problem. Please, provide sample solution.

0
Avatar
Tormod Jervell Steinsholt

I have found the issue. Sample solution was sent to Ruslan.

It doesn't appear to be related to dotCover, unless dotCover has changed my settings.

The reason is within localtestrun.testrunconfig

Under "Code Coverage"->"Resigning key file", I had a .snk file referenced.

The moment I removed the reference, everything works. If I put it back in, Resharper testrunner stops working and once again only Visual studio testrunner works.

0

It's better to have Visual Studio Code Coverage turned off, when running MSTest tests in ReSharper.

0
Avatar
Tormod Jervell Steinsholt

I checked that. The problem remains even when no artifacts are selected for coverage.

0

Do you mean it's still enabled? Or completely disabled?

When Code Coverage is enabled, no matter which artifacts are selected to be covered, MSTest uses different approach for running tests. We have no ability to properly handle it now.

0
Avatar
Tormod Jervell Steinsholt

I don't know. How do I tell?

There is a checkbox on the same page saying "instrument assemblies in place", which is checked, but disabled.

But how do you suppose we manage this? The continuous integration server may depend on coverage files being generated as part of the .sln build.

Will I need to deviate my local setyp from the source repository? I suppose I can delete the localtestrun config file locally without checking it out.

Did you receive the sample solution?

You say that "it is best to run without coverage", but is there no other factor that contribute to that Resharper does not give indication of a problem and does not execute tests from the testrunner? I'm pretty sure that the coverage part of this file has not changed in a while.

0

Please sign in to leave a comment.