我正在使用VS2010 + C#+ .Net 4.0。我想为单元测试做代码覆盖。调查后我有两个选择,我的问题是,我想知道这两个工具/选择的利弊。
答案 0 :(得分:3)
使用这两种工具后,它们的工作方式大致相同。您运行测试然后查看报告。这两个工具都提供代码突出显示,哪些代码行有覆盖,哪些代码没有。 MsTest在信息方面没有提供更多信息,但NCover提供了大量的HTML报告,并可以随着时间推移趋势代码覆盖。这些事情可能会有所帮助。
现在是差异。 MsTest覆盖工具实际上只适用于MsTest单元测试。它不能轻易涵盖从IDE使用NUnit(或其他测试框架)编写的测试。它可以完成,但需要一些时间,需要从命令行调用coverage工具并手动检测程序集。同样,它可以完成,但不是很容易,特别是对于初学者。 NCover更灵活,可以与大多数测试框架一起运行。此外,我发现使用自动构建服务器运行NCover更容易。我在CruiseControl中自动化MsTest覆盖范围从未如此幸运,但我猜MS使其在Team Foundation Server中工作。
答案 1 :(得分:1)
只是一些可能有用的小笔记: