小编Jer*_*emy的帖子

Visual Studio 测试资源管理器在更改后不运行测试

我正在使用 Visual Studio 2022 社区版。每当我删除或重命名现有测试方法(包括复制、粘贴,然后重命名)时,Visual Studio 在进行更改后都无法运行测试。

  • 我可以右键单击以前运行的测试并运行它们,但任何重命名的测试我都不能。同样,自上次成功运行以来创建的任何新测试,直到我重命名现有测试方法。
  • 只要没有重命名其他测试,我就可以从头开始创建新的测试,不会出现任何问题。
  • 当我重新启动 Visual Studio 时,所有测试都会被识别并在重新启动后正常运行。但在编写测试时必须不断重新启动 Visual Studio,这非常令人沮丧。我复制/粘贴一个测试方法并将其重命名很多次,这导致每次都会发生此问题。
  • 我尝试删除并重新安装 Micosoft.NET.Test.Sdk、MSTest.Adapter 和 MSTest.TestFramework。我已删除该存储库,并重新克隆该存储库,基本上删除了隐藏的 .vs 文件夹。
  • 这种情况发生在两台不同的计算机上,多个解决方案,都引用相同的存储库。
  • 我已经创建了一个新的 .NET 6 测试项目,并将前一个项目中的所有测试复制并粘贴到新项目中。当我在执行下面列出的操作后尝试运行测试时,确实遇到了一些错误。
System.InvalidOperationException: TestsForOrigin: Unknown TestCaseRecord.Origin value Unknown
   at Microsoft.VisualStudio.TestStorage.MergedTestGroup.TestsForOrigin(TestCaseOrigin origin)
   at Microsoft.VisualStudio.TestStorage.MergedTestGroup.MarkAsStale()
   at Microsoft.VisualStudio.TestStorage.MergedTestIndex.MarkAsStale(TestCaseOriginKind originKind)
   at Microsoft.VisualStudio.TestStorage.TestStoreIndexSet.MarkTestsAsStale(TestCaseOriginKind originKind)
   at Microsoft.VisualStudio.TestStorage.TestStore.MarkTestsAsStale(TestCaseOriginKind originKind)
   at Microsoft.VisualStudio.TestWindow.Host.TestRunSession.StartTestRun(IEnumerable`1 containers, IEnumerable`1 requestedTestCasesToRun, Boolean isHotReloadRun)
   at Microsoft.VisualStudio.TestWindow.Host.VsTestRunSession.StartTestRun(IEnumerable`1 containers, IEnumerable`1 requestedTestCasesToRun, Boolean isHotReloadedRun, Int32 totalIterations)
   at Microsoft.VisualStudio.TestWindow.Host.VsTestRunSession.StartTestRun(ICollection`1 requests, Int32 totalIterations)
   at Microsoft.VisualStudio.TestWindow.Logging.ILoggerExtensions.CallInternalWithLogging(IInternalLogger log, Action action, Boolean shouldThrow)
System.Collections.Generic.KeyNotFoundException: The given key 'C:\Users\My Name …
Run Code Online (Sandbox Code Playgroud)

.net unit-testing mstest test-explorer visual-studio-2022

21
推荐指数
1
解决办法
6145
查看次数