x单位+加里奥Visual Studio 2010 中的代码覆盖率

发布于 2024-12-13 02:59:09 字数 568 浏览 3 评论 0原文

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

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

知道出了什么问题吗?

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

I'm trying to find a way to migrate from mstest to xunit and still benefit from the IDE integration which made me choose mstest in the first place. Gallio seems to accomplish this noble goal, plus it's free (don't want Reshaper or TestDriven.net). But I can't get code coverage to work.

My solution contains of two projects: project SUT (the assembly I need to test) and project SUT.Tests which is a VS test project (this allows Gallio to display xunit tests in VS's Test View). I have code coverage enabled in Local.testSettings for SUT.dll and instrumentation is in place. After the test run completes there is no code coverage. Code Coverage Results window reports: Empty results generated: none of the instrumented binary was used. Look at test run details for any instrumentation problems. Unfortunately the test run details do not contain any "instrumentation problems". I tried unchecking the instrument assemblies in place checkbox and re-running the unit test; same result.

Any idea what's wrong?

My setup:
- Windows 7 x64
- VS 2010 Premium (SP1)
- xUnit 1.8
- Gallio 3.3.1 x64 (installer, not zip)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

唱一曲作罢 2024-12-20 02:59:09

为回答我自己的问题而道歉:

原来 Gallio 从 SUT.Tests\Bin\Debug 而不是 SUT\Bin\Debug 加载 SUT.dll。我将此路径添加到代码覆盖率详细信息中,选择它而不是默认的 SUT.dll 路径,现在它可以工作了!

Apologies for answering my own question:

Turns out Gallio loads SUT.dll from SUT.Tests\Bin\Debug rather than SUT\Bin\Debug. I added this path to code coverage details, selected it instead of the default SUT.dll path and now it works! This is better described at here, towards the end of the post.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文