Test Explorer (VS) shows ''

2020-02-17 08:37发布

问题:

Everthing below is made in VS2019, using .NET Framework 4.7 and NUnit + NUnit3TestAdapter

I created an assembly called Exitus.Tests, and added a few unit tests. However, do to some issues with Nuget, that I could not solve, I made another project called Exitus.UnitTests and removed the once file I had in the old project (including changing the namespace).

Now the new test project showed op correctly in the explorer, but a "ghost" of the old project remained:

If I try to run the test, the output window shows the following error:

System.InvalidOperationException: The following TestContainer was not found 'C:\Users\xxx\Source\Repositories\Expire\Exitus.Tests\bin\Debug\Exitus.Tests.dll' at Microsoft.VisualStudio.TestWindow.Client.TestContainer.TestContainerProvider.d__46.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.VisualStudio.TestWindow.Controller.TestContainerConfigurationQueryByTestsBase.d__6.MoveNext() (...)

The stack trace is a lot longer, but the curious thing is the second line, stating that it could not find the test container at \Exitus.Tests\bin\Debug\Exitus.Tests.dll. This is the name of the old test project, which I removed and deleted. I have searched my entire project for the term Exitus.Tests and it returns no results.

Is there anyway to forcefully remove this 'ghost' project?

回答1:

  1. Close Visual Studio.
  2. Delete the *.testlog files in: solutionfolder\.vs\solution name\v16\TestStore\number.


回答2:

I faced the same issue right now. A cleanup helped. As I had cleanup issues with VS in the last time (some DB-lock prevents a real cleanup to happen), my working cleanup was this way:

  1. Close VS.
  2. Git Bash in solution folder: git clean -xfd

Probably it helps.