我正在尝试执行 OpenCover 以获取与 TFS 构建集成的代码覆盖率结果。这个结果被发送到 SonarQube(通过 sonar-runner,它作为一个活动包含在构建模板中)。我有两台 TFS 服务器、一台控制器和两台服务器中的多个代理。我们在代理中使用标签,因此 .Net 构建可以在任何具有匹配标签的代理中执行。
为了集成 OpenCover,我在项目中创建了一个 cmd 文件并添加到源代码管理中。详细信息在https://stackoverflow.com/a/26651450/1764875
但是在 TFS 服务器中,MSTest 的路径是不一样的,我不想添加一些逻辑来根据构建服务器选择路径。
其他 .Net 项目也正在使用其他集成在项目中并在该 TFS 服务器中运行的测试运行程序(XUnit、NUnit)。
要运行 OpenCover,我需要正确的 Test Runner Binary 的路径。我的问题是:
- 有没有办法在构建时获得这条路径(在构建定义中,例如使用一些变量)?
欢迎任何建议!
提前致谢。