如何在.NET中进行持续测试?

10

我在进行Java开发时使用Infinitest进行持续测试,但当我进行C#和.NET开发时,我真的很想念即时反馈。

我该如何在C#和.NET中进行持续测试?

编辑:我不是在寻找连续集成,例如CruiseControl、TeamCity等。我正在寻找一种可以与您的IDE一起使用的即时反馈工具。

4个回答

20

我发现了一个对于VisualStudio非常有用的扩展:NCrunch http://www.ncrunch.net/

我特别喜欢它的地方在于,当你输入代码时(无需保存/构建),它会在后台运行代码的测试,并且仅运行受更改代码影响的测试;它自动显示通过测试或失败测试覆盖的代码行以及未覆盖的代码行。它支持NUnit、MS Test、Xunit、MbUnit和MSpec :)


8
如果你正在使用 Visual Studio 2008 或 2010,那么你应该看看这个扩展程序 Continuous Testing for Visual Studio。需要注意的是,它并不会在保存时运行测试,而是在每次构建时运行。

请在接受我的答案之前先测试一下,因为它并不总是对我有效,我不知道为什么,但它可能也无法解决您的问题。它在一个较小的测试项目上可以工作,但在我的类库上却不能。 - Lasse V. Karlsen
好主意,我会取消接受答案,在我的测试之后重新评估。 - s3v1
我一直没有成功让它工作。插件似乎在VS2008中不可用,而且它也无法在构建时运行。我想这一定是某种配置问题。 - s3v1
你可以通过Twitter (@havardstranden或@ContinuousTest)与我联系,或者给我发电子邮件(continuoustesting AT <@Lasse V. Karlsen链接的域名>)。 - Håvard S
2
在与作者愉快的对话后,他已经成功解决了一些错误。现在,它在VS2008和VS2010上都能很好地工作,在64位的Windows 7上运行良好。我只在一个小项目上测试过,因此可能会有所不同。我非常喜欢它,所以我写了一篇关于它的博客文章:http://makeitfaster.wordpress.com/2010/06/29/continuous-testing-with-ide-integration/ - s3v1
显示剩余3条评论

1

虽然CruiseControl.NET可以做更多的事情,但当它与NUnit集成时,它可以进行持续测试。

我也发现持续测试和构建的持续反馈非常有用。


1
我建议使用像TeamCity这样的持续集成服务器。它还提供了一个适用于Visual Studio的插件,允许您在IDE内构建项目并运行单元测试。

我使用TeamCity,它的额外好处是可以在同一个TeamCity实例上允许Java和.Net项目进行持续集成,而使用CruiseControl则需要分别运行Java和.Net的不同实例。 - Wysawyg
虽然TeamCity很好,但它并不能满足要求,即在每次保存后运行所有单元测试。 - Lasse V. Karlsen
@Lasse:确实。这只是提供另一种选择的建议。 - Philippe Leybaert
我应该更清楚地表达,并且提到我不是在寻找一个CI服务器。但还是谢谢你的回答 :) - s3v1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接