[英]Running NUnit tests in Visual Studio 2010 with code coverage
我们最近从Visual Studio 2008升级到Visual Studio 2010.作为代码库的一部分,我们有一组非常大的NUnit测试。 我们希望能够在Visual Studio中运行这些单元测试,但启用了代码覆盖 。 我们有ReSharper,因此可以在Visual Studio中运行测试,但它不允许代码覆盖工具执行其操作并生成coverage统计信息。
有没有办法让这项工作,或者我们是否必须将测试转换为MSTest?
编辑:我们已经尝试过建议的工具:
TestDriven.Net
这在Visual Studio中运行NUnit测试很好,甚至可以使用代码覆盖,但它也包括测试作为覆盖程序集的一部分。 似乎没有办法排除测试,但包括正在测试的程序集(我们的测试与他们测试的代码在不同的程序集中)。 我们也不想花费额外的2000英镑花费我们来为整个团队获得TestDriven.net。
加利奥
这没用。 为了获得覆盖输出,测试需要在Visual Studio测试运行器中运行。 Gallio不为NUnit提供此支持。
还有什么想法? 我们确实找到了几个开源尝试来让这种类型的东西工作,但它们已经陈旧并且长时间没有被触及(因此不支持VS2010)。
gallio自动化框架是一个开源项目,应该允许您完成此任务。 该网站位于http://www.gallio.org/ 。在上一版本中有最初的VS2010支持,在夜间版本中有更多的工作。
这里有更多相关信息: http : //weblogs.asp.net/astopford/archive/2010/04/13/gallio-and-vs2010.aspx
但是,如果你有钱花在这上面,请看看http://TestDriven.Net
Jetbrains似乎正在使用名为“dotCover”的新产品解决这个问题。 它还处于初期阶段,但考虑到他们的记录,它应该很快就会成为主要参与者。
直到它发布,你可以“测试” 这里的夜间版本。
您可以在运行NUnit测试时使VS 2010代码覆盖功能正常工作,但这是配置工作的一部分:
设置运行nunit-console-x86.exe的通用测试,如下所示:
VS2010代码覆盖率是否支持nUnit? (xUnit的简化描述)
http://msdn.microsoft.com/en-us/library/ms182624 (v=vs.100) .aspx (一般说明)
确保:
当您将来自不同文件夹的dll复制到单个文件夹中进行测试时,可能会发生奇怪的事情。 例如,我得到了令人反复的结果,即在运行单元测试时几乎所有的单元测试代码都被覆盖了 。 太可惜了,该代码覆盖率没有 找到单元测试测试的图书馆!
好吧,在设置所有构建输出目录后,我遇到了最奇怪的问题:从该文件夹NUnit不运行。 我让它从2个不同的位置运行,但在这里它“nunit-console-runner.dll not found”。
我只是通过以下方式在另一个位置检测测试库:
今天它立即起作用了,但是前几天我试图将这些位置正确地运行了大约一个小时。 我仍然不知道那天我搞砸了什么。
阿德里安,
看看TestMatrix - 它将运行您的单元测试,代码覆盖和单元测试性能分析 - 所有这些都本机集成到Visual Studio中。
我在CodePlex上找到了Code Coverage Runner项目,它通过适配器连接VS测试和NUnit API。 在撰写本文时,该项目自2008年3月以来尚未更新,但它可能适合您的需求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.