Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Visual Studio Test Explorer cannot run tests in compiled test project

I'm struggling to get my unit tests to work. I've wrestled with this issue for several hours now, and I have no explanation as to why things don't work. I had a fairly major refactor on my codebase and have since gone through and fixed all the unit tests. The test project builds, it outputs a new unit test dll. However, when I go to run the tests in the test explorer, I get this message:

[2/27/2019 5:08:05 PM Warning] [MSTest][Discovery][C:\pathtotest.dll] Failed to discover tests from assembly C:\pathtotest.dll. Reason:Could not load file or assembly 'System.Runtime, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

[2/27/2019 5:08:05 PM Warning] No test matches the given testcase filter FullyQualifiedName=<namespace.namespace...testmethod> in C:\pathtotest.dll

Here is what I know:

  • I recently updated Visual Studio (within the past two weeks, don't remember exactly when I did it).

  • All packages in the test project have been updated and are running the latest versions of things.

  • I have another unit test project that is .Net Core 2.1, this is .Net Framework 4.7.2. The other project works.

Some suggestions other posts give are to make sure your test architecture is correct and to delete a folder in %TEMP% (don't recall the exact name, except is was something about VisualStudioExtensions). The folder they suggest to delete was not found in %TEMP% and I tried running my tests on both architectures with the same result.

So the next step was to take a sanity test and make sure the built test dll exists. It does.

At this point I'm about ready to just start a new test project and copy paste over all the tests one by one and see if maybe one is throwing a silent error. I can't find any useful information with my own Google-fu skills and I'm hoping someone has some useful insight or tricks to try.

like image 211
Zulukas Avatar asked Feb 28 '19 00:02

Zulukas


2 Answers

From the comment above:

Using this C:\pathtotest.dll

Check also if it 32bit or 64bit runtime.

Most cases are using 32bit dlls.

Hope it helps

like image 84
Vijunav Vastivch Avatar answered Sep 21 '22 19:09

Vijunav Vastivch


I had a similar issue with a brand new test project in an existing solution - all of my other test projects compiled and tested correctly, but the new one repeatedly came up with the error:

No test matches the given testcase filter...

The answer came from this post VSTest: A testsettings file or a runsettings with a ForcedLegacyMode set to true is not supported with the MSTest V2 Adapter. No test is available which suggested switching off the testsettings file, which somehow had been selected on the new project.

As soon as I deselected the Test -> Test Settings -> c:...\Repos...testsettings option in Visual Studio the tests were runnable.

like image 24
Liam Avatar answered Sep 17 '22 19:09

Liam