【发布时间】:2015-10-16 01:22:08
【问题描述】:
我在单元测试中遇到了 app.config 文件的一些问题。 vstest.console.exe 似乎忽略了它。当我使用 MStest 运行单元测试时,应用配置文件没有问题。
配置文件必须解决一些程序集问题(重定向程序集版本)。 这是这个文件的内容:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="RhinoCommon"
publicKeyToken="552281e97c755530"
culture="neutral" />
<bindingRedirect oldVersion="5.1.30000.4" newVersion="5.1.30000.14"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
当我将此代码移动到 machine.config 时,我的单元测试被成功重定向到使用另一个版本的程序集。但是这种解决我的装配问题的方法是不合适的。单元测试项目必须在构建服务器上运行,需要在应用层面解决这个问题。
在互联网上没有关于此类问题的信息。基于这个答案vstest.console.exe with /EnableCodeCoverage just "hangs"... how debug, and how to fix? 可以将应用程序配置添加到 vstest.executionengine.config (因为这是实际运行的 exe),但它对我不起作用,正如我之前所说,这个问题应该在应用程序上解决等级。
使用 MStest.exe,app.config 没有问题,但不适合我的情况。
有人见过这样的问题吗? 任何帮助将不胜感激。
【问题讨论】:
-
@jessehouwing 它有效。谢谢!但是,如果我为 Mstest 适配器指定设置是否意味着使用 MsTest.exe 执行测试?
-
我怀疑是由 MsTest 的 vstest。我会在微软的这种行为上落后。您使用的是哪个版本的 Visual Studio?
-
@jessehouwing 我正在使用 Visual Studio Professional 2012 11.0.50727.1
标签: c# .net unit-testing app-config vstest