Visual Studio单元测试代码库因机器而异

时间:2015-05-04 16:53:11

标签: c# .net unit-testing visual-studio-2012 resharper

在使用VS Unit测试框架进行单元测试期间,我的机器上有一些有趣的行为。 机器是win-7,VS2012 Update 1,Resharper 7.1.1

当我运行单元测试时,它会在TestResults下创建2个文件夹:

  1. Deploy_UserName YYYY-MM-DD hh_mm_ss
  2. UserName_MachineName YYYY-MM-DD hh_mm_ss
  3. UserName_MachineName...下,有Out文件夹,这是我执行测试的地方:

    SolutionDir\TesResults\UserName_MachineName YYYY-MM-DD hh_mm_ss\Out

    另外2个人打开同一个项目(win-7,VS2012,Resharper 7.1.2 / 8.2.3)(他们使用不同的解决方案)并运行它。他们机器上的代码从:

    执行

    ProjectDir\bin\Debug

    我喜欢它。我想在我的机器上做同样的行为。我查看了所有可能的设置,但我没有看到任何可以更改以修改此行为的内容。 有什么想法吗?

2 个答案:

答案 0 :(得分:1)

Resharper shadow会复制程序集以供默认测试。

您可以关闭影子副本,它将在bin文件夹中运行。 本说明可能会指向正确的菜单以将其关闭:

https://www.jetbrains.com/resharper/webhelp80/Reference__Options__Tools__Unit_Testing.html

我希望它能解决你的问题

答案 1 :(得分:0)

让它发挥作用:

  • 将VS2012更新为Update 4

现在我从Bin\Debug开始执行代码,但我无法使用Resharper启动单元测试 - 仅限VS测试实用程序

  • 升级后的Resharper至v7.1.3

此时Resharper开始工作但我在执行单元测试期间开始获得An unhandled exception of type 'System.ExecutionEngineException' occurred in mscorlib.dll

  • 未选中"在Resharper 选项 - 单元测试-MSTest 中使用旧版Runner" 。顺便说一句,Resharper v7.1.1
  • 中缺少此选项

终于有效!