3

我正在尝试找到一种从 mstest 迁移到 xunit 的方法,并且仍然受益于 IDE 集成,这使我首先选择了 mstest。Gallio 似乎实现了这个崇高的目标,而且它是免费的(不需要 Reshaper 或 TestDriven.net)。但我无法让代码覆盖工作。

我的解决方案包含两个项目:项目 SUT(我需要测试的程序集)和项目 SUT.Tests,它是一个 VS 测试项目(这允许 Gallio 在 VS 的测试视图中显示 xunit 测试)。我在 Local.testSettings 中为 SUT.dll 启用了代码覆盖率,并且检测到位。测试运行完成后没有代码覆盖。代码覆盖结果窗口报告:生成空结果:未使用任何检测的二进制文件。查看任何仪器问题的测试运行详细信息。不幸的是,测试运行细节不包含任何“仪器问题”。我尝试取消选中仪器组件复选框并重新运行单元测试;同样的结果。

知道有什么问题吗?

我的设置:
- Windows 7 x64
- VS 2010 Premium (SP1)
- xUnit 1.8
- Gallio 3.3.1 x64(安装程序,不是 zip)

4

1 回答 1

5

很抱歉回答我自己的问题:

结果 Gallio 从 SUT.Tests\Bin\Debug 而不是 SUT\Bin\Debug 加载 SUT.dll。我将此路径添加到代码覆盖详细信息中,选择它而不是默认的 SUT.dll 路径,现在它可以工作了!这在本文结尾处有更好的描述。

于 2011-10-30T17:12:15.723 回答