通过NuGet针对特定解决方案的OpenCover实例的预期使用模型是什么?

时间:2013-06-26 19:21:42

标签: code-coverage opencover

如果我通过NuGet将OpenCover安装到解决方案中,我会在例如packages \ OpenCover.4.5.1604文件夹下获得预期的文件。但是,OpenCover的分析器需要COM注册才能正常运行。我认识到可以使用-register命令对这些命令进行运行时注册,但是在具有多个解决方案的计算机上,可能会安装不同版本的OpenCover(并且可以同时执行它们 - - 例如,构建服务器),这似乎有问题。

来自作者本人的

This SO answer表示单独调用regsvr32来注册分析器一次在构建服务器上会更好,这是有道理的。但是在通过NuGet(进入解决方案)下拉OpenCover的情况下,是否有适当的构建服务器解决方案?或者NuGet只是获取文件的一种方便方法,但它们应该真正复制到一个集中位置然后注册,而不是试图从特定于解决方案的版本运行?

1 个答案:

答案 0 :(得分:0)

在我的构建机器上(使用通过nuget拉取的opencover)我使用-register:user选项;这会为该用户帐户注册,并在执行目标进程后取消注册。

OpenCover还注册了一个密钥,用于与仅与其执行的进程相关的分析器进行通信,这样多个OpenCover控制台可以根据需要并行运行; OpenCover有一个名为pedigree的dogfood测试(opencover执行opencover执行nunit),它可以运行该功能。

但是我的构建机器一次只运行一个构建脚本。大多数构建机器代理都这样做,因为它通常更快,你使用哪一个?

如果你有一个OpenCover无法处理的场景,请在论坛上提出问题 - 否则开心测试。