如何使用Jenkins使用NCover计算代码覆盖率?

时间:2013-08-12 06:00:38

标签: c# jenkins code-coverage jenkins-plugins ncover

我正在使用c#中的Windows应用程序。

使用Jenkins,我创建了一份可以完成以下任务的工作 1.使用msbuild建立应用程序
2.使用nunit-console.exe的测试单元测试用例 3.使用NCover计算代码覆盖率。 (问题
4.Later使用Nant插件发布应用程序

任务1,2和4工作正常,而3有问题。

有人能说清楚这件事吗?

这是我用来查找覆盖范围的批处理文件

C:\Program Files\NCover\NCover.Console.exe" "E:\Myapp\test.exe" -h //x "E:\Newfolder\coverage.xml

批处理文件在Jenkins中执行,我们可以在任务管理器中看到Test.exe,我需要的是执行Nunit测试用例时不需要运行我的text.exe的html格式的代码覆盖率

D:\Set Up\Nuint\NUnit-2.6.2\bin\nunit-console.exe" "E:\Myapp\test.sln" /xml="E:\Newfolder\TestResult.xml 

这是我用来测试测试用例的批处理命令,我需要在执行测试用例时知道代码覆盖率,但在我的情况下我的test.exe被执行并且NCover console.exe启动监视我的测试。 exe用于计算覆盖率

我尝试添加

C:\Program Files\NCover\NCover.Console.exe" infront of "D:\Set Up\Nuint\NUnit-2.6.2\bin\nunit-console.exe" "E:\Myapp\test.sln" /xml="E:\Newfolder\TestResult.xml , build succeded.并在控制台o / p中找到了一些覆盖数据,如

执行时间:92.4688 s 符号覆盖范围:43.72% 分行覆盖率:22.70%

并创建一个coverage.nccov文件。但我需要以html格式创建/显示报道。

1 个答案:

答案 0 :(得分:3)

您可以使用NCover plug-in或post-build-task来开始计算。

对于第二个变体,我们主要使用一个简单的批处理文件来启动操作(在您的情况下是ncover计算)。此批处理文件将由jenkins post-build-task调用。

修改

要获取HTML,您可以通过(查看here):

进行操作
NCover.Reporting Coverage.xml //or FullCoverageReport:Html //op "C:\Coverage Report"