我已经在许多网站上找到了这个问题的各种迭代,但到目前为止,我还没有找到任何提供完整答案的东西。
我刚刚设置了许多Visual Studio测试代理,这些代理似乎都在运行,并且正在运行我们计划在其上运行的大多数单元测试。然而,当我来检查其中一个单元测试时,它就失败了:
using (ShimsContext.Create())
,
堆栈跟踪:
Result Message:
阅读了其他一些帖子后,我在测试代理上安装了Visual Studio 2013,并确认它将在本地运行测试。然后我将COR_PROFILER_PATH设置为我的机器上使用的分析器,该分析器安装在:“C:\ Program Files \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ IntelliTrace \ 12.0.0 \ Microsoft.IntelliTrace.Profiler .12.0.0.dll”。
然后它在跟踪的同一个地方失败了:
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: Failed to resolve profiler path from COR_PROFILER_PATH and COR_PROFILER environment variables.
Test method threw exception:
建议是分析器已经在一个单独的过程中加载并且无法使用。有没有人在这个或类似的设置上取得任何成功?在基础层面上,Visual Studio Test Agents可以使用Fakes运行测试吗?
感谢
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: Failed to get profiler module handle 'C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\IntelliTrace\12.0.0\Microsoft.IntelliTrace.Profiler.12.0.0.dll'. The specified module could not be found ---> System.ComponentModel.Win32Exception: The specified module could not be found
答案 0 :(得分:4)
我知道这有点老了,所以OP可能得到了他的答案,但对于其他任何人,我在这个问题上与微软开了一张票,我们在看了一个半小时后得到了答案。设置此问题:
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException:无法从COR_PROFILER_PATH和COR_PROFILER环境变量解析探查器路径。
,是我使用 mstest.exe 而我应该使用 vstest.console.exe 。在我的情况下,这是因为我现在在我的代码中进行了Fakes测试。
我正在使用Visual Studio 2013更新4。
答案 1 :(得分:1)
我正在处理与我正在进行的项目相同的问题。我发现这个问题: https://connect.microsoft.com/VisualStudio/feedback/details/832744/unable-to-debug-shims-based-tests-unittestisolation-exception
有一个附加项目,所以我下载了项目并运行了唯一的单元测试。相同的错误 - 单元测试不成功。但是,我右键点击了System
下的References
,然后点击了Add Fakes Assembly
。一旦它产生了System
和mscorlib
的假货,瞧!测试变为绿色。
我能够在我的项目中重现这个问题 - 我没有为System生成假货。一旦我为System生成了它们,我的测试从红色变为绿色!
附注 - 如果您不想生成System和mscorlib的所有假货,您可以像这样修改.fakes文件。
mscorlib.fakes:
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/">
<Assembly Name="mscorlib" Version="4.0.0.0"/>
<StubGeneration Disable="true" />
<ShimGeneration Disable="true" />
</Fakes>
System.fakes:
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/">
<Assembly Name="System" Version="4.0.0.0"/>
<StubGeneration Disable="true" />
</Fakes>
我无法为System.fakes禁用ShimGeneration - 测试会失败。
我希望这可以解决其他人的问题 - 错误非常模糊!
答案 2 :(得分:0)
(我假设您的测试代理也是构建代理。)
构建服务版本是否与安装的Visual Studio版本同步?
我在以下环境中遇到了同样的问题:
当我将构建服务器上的TFS版本更新到2015.3时,问题就停止了。
我知道它可能没有意义,但解决了这个问题,因为TFS 2015 XAML Build与TFS 2013.4应用层兼容。