- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近采用了构建工具 Cake ,但我正在努力让 DotCover 单元测试覆盖率报告显示在 TeamCity 中。
我尝试了以下任务:
Task("Run-Regression-Tests")
.IsDependentOn("Build")
.Does(() =>
{
var resultPath = artifactsDirectory + File("results.dcvr");
DotCoverCover(tool =>
{
tool.NUnit3(new[] {
"./Foo.UnitTests/bin/" + configuration + "/Foo.UnitTests.dll",
"./Bar.UnitTests/bin/" + configuration + "/Bar.UnitTests.dll",
"./Baz.IntegrationTests/bin/" + configuration + "/Baz.IntegrationTests.dll"
}, new NUnit3Settings {
NoResults = true
});
},
resultPath,
new DotCoverCoverSettings()
.WithFilter("+:Foo.Domain"));
TeamCity.ImportDotCoverCoverage(resultPath);
});
然而,这会从 TeamCity 产生以下输出:
// Output immediately after unit test success report:
[03:01:52][Step 1/1] [JetBrains dotCover] Coverage session finished [30/09/2017 03:01:52]
[03:01:52][Step 1/1] [JetBrains dotCover] Coverage results post-processing started [30/09/2017 03:01:52]
[03:01:53][Step 1/1] [JetBrains dotCover] Coverage results post-processing finished [30/09/2017 03:01:53]
[03:01:53][Step 1/1]
[03:01:53][Step 1/1] ========================================
[03:01:53][Step 1/1] Create Octopus Release
[03:01:53][Step 1/1] ========================================
[03:01:53][Step 1/1] Importing data from 'artifacts/results.dcvr' (7.49 MB) with 'dotNetCoverage' processor
// After cake finishes:
[03:02:11]Waiting for 1 service processes to complete
[03:02:11]Processing 1 coverage report(s)
[03:02:11]Generating coverage report by dotcover for files: [C:\TeamCity\buildAgent\work\47e2e68a6c48ce48\artifacts\results.dcvr]
[03:02:11]Get dotCover version (1s)
[03:02:13]Use DotCover 2016 and higher commands set
[03:02:13]Merge dotCover reports
[03:02:14][Merge dotCover reports] Started dotCover: C:\TeamCity\buildAgent\tools\dotCover\dotCover.exe merge C:\TeamCity\buildAgent\temp\buildTmp\dotcover4470082908956100659.xml
[03:02:14]
[Merge dotCover reports] Output: JetBrains dotCover Console Runner 2017.1.1. Build 108.0.20170407.130252
Copyright (c) 2009-2017 JetBrains s.r.o. All rights reserved.
[JetBrains dotCover] Snapshot merging started [30/09/2017 03:02:13]
[JetBrains dotCover] Source snapshots number: 1
[03:02:14][Merge dotCover reports] [JetBrains dotCover] Failed to merge snapshots. Set of standalone sections doesn't comply ReverseFunctionCoverageSnapshotDataDescriptor specification. Set of standalone sections doesn't comply ReverseFunctionCoverageSnapshotDataDescriptor specification
[03:02:14]
[Merge dotCover reports]
[03:02:14][Merge dotCover reports] dotCover exited with code: -2
[03:02:14][Merge dotCover reports] dotCover returned non-zero exit code.
[03:02:14]Remove dotCover snapshot files
[03:02:14]Generate dotCover report
[03:02:15][Generate dotCover report] Started dotCover: C:\TeamCity\buildAgent\tools\dotCover\dotCover.exe report C:\TeamCity\buildAgent\temp\buildTmp\dotcover1750892168641886115.xml
[03:02:15]
[Generate dotCover report] Output: JetBrains dotCover Console Runner 2017.1.1. Build 108.0.20170407.130252
Copyright (c) 2009-2017 JetBrains s.r.o. All rights reserved.
[03:02:15][Generate dotCover report] [JetBrains dotCover] Report source "C:\TeamCity\buildAgent\temp\buildTmp\dotCover1103887209553630063Merge" doesn't exist.
[03:02:15]
[Generate dotCover report]
[03:02:15][Generate dotCover report] dotCover exited with code: -2
[03:02:15][Generate dotCover report] dotCover returned non-zero exit code.
[03:02:15]Generate dotCover HTML report
[03:02:15]Packing snapshot files
[03:02:15][Packing snapshot files] Started dotCover: C:\TeamCity\buildAgent\tools\dotCover\dotCover.exe zip C:\TeamCity\buildAgent\temp\buildTmp\dotcover5049141835197969589.xml
[03:02:15]
[Packing snapshot files] Output: JetBrains dotCover Console Runner 2017.1.1. Build 108.0.20170407.130252
Copyright (c) 2009-2017 JetBrains s.r.o. All rights reserved.
[03:02:15][Packing snapshot files] [JetBrains dotCover] Source file doesn't exist.
似乎 TeamCity 正在尝试合并 dotcover 快照,但我认为我没有告诉它这样做。我还发现在部署到 Octopus 任务开始后上传 artifacts/results.dcvr 很奇怪
我已经尝试使用 DotCoverAnalyze 和“result.xml”的 resultPath,但 TeamCity 报告它是一种无效的文件格式。
那么,您如何使用 cake 和 TeamCity 收集和导入 DotCover 覆盖范围?
最佳答案
这就是我目前将 dotCover 覆盖率报告导入 TeamCity 的方式。请注意我如何提供 DotCover.exe 主目录的绝对路径以覆盖捆绑的 DotCover.exe。当捆绑的 DotCover 版本与您在 Cake 中使用的版本(例如,在您的 .\tools
文件夹中找到的版本)不兼容时,这可能很有用。
Task("Run-Unit-Tests")
.IsDependentOn("Build")
.Does(() =>
{
DotCoverCover((ICakeContext c) => {
c.NUnit3("./src/**/bin/x64/" + parameters.Configuration + "/Foo.Test.dll",
new NUnit3Settings
{
Results = parameters.Paths.TestResult,
TeamCity = parameters.IsTeamCity
}
);
},
parameters.Paths.CoverageResult,
new DotCoverCoverSettings()
.WithFilter("+:Foo")
.WithFilter("-:Foo.Test"));
})
.Finally(() =>
{
if(parameters.IsTeamCity)
{
TeamCity.ImportData("nunit", parameters.Paths.TestResult);
TeamCity.ImportDotCoverCoverage(
parameters.Paths.CoverageResult,
MakeAbsolute(Directory("./tools/JetBrains.dotCover.CommandLineTools/tools")));
}
else
{
DotCoverReport(
parameters.Paths.CoverageResult,
parameters.Paths.CoverageResult.ChangeExtension("html"),
new DotCoverReportSettings
{
ReportType = DotCoverReportType.HTML
});
}
});
关于teamcity - 如何从 Cake 获取 TeamCity 中的 DotCover 覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46499050/
如果我有一个包含许多相互依赖的项目的大型代码库,例如,projects/A、projects/B 和 projects/C ,其中 A 需要 B,B 需要 C,每个项目都有一个Cake 构建脚本,例如
我是 cake php 的新手。我有两张 table ce_landing ce_stat 结构是 ce_stat id keyword click 1 keyw
我想知道在 Scala 中为 DI 使用函数和 Cake 模式之间的区别。我想出了以下理解,我想知道这种理解是否正确。 让我们想象一个依赖图。 1)如果我们使用函数作为构建 block ,那么图由作为
我第一次尝试在 Ubuntu 12.04 上运行 givenwhenthen Node 模块,我已经按照他们网站上“Running Stories”标题下列出的设置说明进行操作 here. 我已经在
我在这里阅读了指南:http://book.cakephp.org/2.0/en/appendices/2-0-migration-guide.html其中描述了 Cake 2.0 版的更改,但没有明
如何使用cake php让cake php查找查询结果数组key改为id值? $videos = $this->Video->find('all'); print_r($videos); 数组将是 A
也许是转储问题。 Cake指出它是一个可以用 C# 编写的构建自动化系统。我实际上正在玩弄一下,现在想知道是否可以在 build.cake 中调用 .Net 方法。当时我有以下 build.cake:
有人可以解释一下 CakePHP layout.ctp 文件中使用的这两行吗?似乎这两行都用于添加 css。那有什么区别呢?它们是如何工作的。 $this->Html->css('cake.gene
我必须在 .travis.yml 中添加什么内容才能运行 cake.build 并编译 .net core 项目? 最佳答案 首先添加build.sh到你的github存储库,然后赋予它执行权限,在
我遇到了这些重复的错误,无法解决。 PHP Fatal error: [CakeException] Unknown status code #0 /home/gourmet/public_html
我在 Cake 上遇到了一个奇怪的问题。我住在德国。当我添加帖子时,“已创建”数据库字段中的时间是 6 小时前。例如。下午 6 点创建的帖子在数据库中显示为上午 12 点创建。我使用托管服务器,并联系
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, over
我正在使用 Wamp 服务器,我正在尝试安装 CakePHP 2.0.0,但遇到了问题。 我将 CakePHP 2.0.0 文件放在我的 wamp 服务器文件夹“www”和“cake”文件夹中。 当我
如何让Cake php默认分页获取第一页和最后一页分页链接 Paginator->counter(array( 'format' => __('Page %page% of
我有一个名为“table”的表,它存储数据库中其他表的详细信息。我现在正在创建一个功能,以便每当表名插入到该表中时,都会创建相同的表。例如,如果我插入一个名为“wf_128fe”的表,则会使用一些动态
我在 cake php 2.1 中有以下代码。我尝试获取唯一字符串消息的列表,删除所有重复项。 $this->loadModel('ErrorMessage'); $this->ErrorMessag
我正在创建一个动态数组并将其保存到表中,这是我的保存模型 型号:我有类别,类别有很多产品,然后产品有很多子产品,子产品可能有很多选项 这是我创建动态复选框的查看代码
我是 cakephp 的新手,我正在尝试使用删除查询,但运行以下代码时没有行受到影响,也没有显示错误: $db=ConnectionManager::getDataSource('default');
我在 cake php 1.3 中编写了这个连接查询。 $supportbooks=$this->Supportbook->find('all',array('joins'=>array(
我正在用 php 编写代码,基本上将数据从 mySQL 数据库“映射”到另一个数据库。我使用的代码如下: $results = $this->query("select PT_FS_DATA_ID f
我是一名优秀的程序员,十分优秀!