小编spo*_*wer的帖子

是否可以通过xit或pending()发送跳过Jasmine 2规范的原因?

当我们发现我们的一个Protractor Jasmine2规范存在错误时,我们通常希望跳过测试直到错误得到解决.

我知道如何使用xitor pending(),并且JasmineReporters TerminalReporter在颜色突出显示和列出待定规范方面做得很好.

但是,待处理的测试总是报告No reason given,这意味着可以给出跳过测试的原因.

我目前用一个问题编号评论规范,但是报告禁用测试的原因和问题编号会非常好.

UPDATE

根据要求,添加示例终端输出(fdescribe示例,因此报告大多数套件已禁用):

版本:Protractor 2.1.0和Jasmine 2.3.1

运用 xit

 Skipped
*      will display the platform if available ...
...
SUCCESS: 85 specs, 0 failures, 1 skipped, 72 disabled in 34.734s.
Pending:

1) will display the platform if available
No reason given
Run Code Online (Sandbox Code Playgroud)

运用 pending()

这似乎已经开始标记失败,可能与https://github.com/angular/protractor/issues/1852有关

Failures:
1) will display the platform if available
Message:
Failed: => marked Pending
Stack:
Error: Failed: => marked Pending
Run Code Online (Sandbox Code Playgroud)

更新:此功能的相关功能请求和问题

如果您想要跟进进度,目前有一项功能请求支持Protractor/jasminewd未决的待处理(消息):

https://github.com/angular/jasminewd/issues/32 …

javascript testing jasmine protractor jasmine-reporters

18
推荐指数
2
解决办法
5909
查看次数

Jenkins管道sh似乎不尊重shell命令中的管道

我在版本2.32.2的管道中使用Jenkins文件.

由于各种原因,我想从pom中提取版本字符串.我希望我不必添加maven帮助插件并使用evaluate.

我很快想出了一个小的sed表达式,将它从使用管道的pom中取出,并在执行程序的jenkins工作区中的命令行上运行.

$ sed -n '/<version>/,/<version/p' pom.xml | head -1 | sed 's/[[:blank:]]*<\/*version>//g' 1.0.0-SNAPSHOT

它可能会被优化,但我想理解为什么管道似乎在管道sh命令失败.我玩过各种字符串格式,目前正在使用一个美元的字符串.

管道步骤如下所示,以便轻松输出命令字符串:

script {
    def ver_script = $/sed -n '/<version>/,/<version/p' pom.xml | head -1 | sed 's/[[:blank:]]*<\/*version>//g'/$
    echo "${ver_script}"
    POM_VERSION = sh(script: "${ver_script}", returnStdout: true)
    echo "${POM_VERSION}"
}
Run Code Online (Sandbox Code Playgroud)

当在jenkins管道中运行时,我得到以下控制台输出,它似乎将管道命令分离为单独的命令:

[Pipeline] script
[Pipeline] {
[Pipeline] echo
sed -n '/<version>/,/<version/p' pom.xml | head -1 | sed 's/[[:blank:]]*<\/*version>//g'
[Pipeline] sh
[FRA-198-versioned-artifacts-44SD6DBQOGOI54UEF7NYE4ECARE7RMF7VQYXDPBVFOHS5CMSTFLA] Running shell script
+ sed -n /<version>/,/<version/p pom.xml
+ head -1
+ sed s/[[:blank:]]*<\/*version>//g
sed: couldn't write …
Run Code Online (Sandbox Code Playgroud)

pipe subshell jenkins jenkins-pipeline

14
推荐指数
2
解决办法
1万
查看次数

在rspec和Grunt Karma测试上配置工作服

我正在使用一个项目,我们有两个rspec测试覆盖Ruby代码,我们已经设置了通过Grunt任务运行的Karma JavaScript单元测试.

我已经设置了咕噜-卡玛-工作服,并可以得到它运行时生成本地coveralls.json grunt testdryRun: true.但是我不知道如何配置我的Coveralls repo_token.

我也有一个.coveralls.yml,它成功地将rspec测试的报告发送给了工作服.

我不确定是否以及如何将rspec的覆盖率报告和grunt-karma报告发送给Coveralls.

  • 我可以尝试在运行之前将COVERALLS_REPO_TOKEN设置为ENV变量grunt test,但是更喜欢将它包含在某个地方的配置中
  • 如果报告单独显示在工作服上并且未合并,则对我没问题.我实际上想要为Ruby和JavaScript提供单独的覆盖信息
  • 我们使用Codeship作为CI

更新

  • 我现在有一个rake任务,设置repo令牌,执行所有npm和包设置,并运行grunt测试任务.

  • 我也成功地向工作服发送了两份单独的报告

  • 我还是想知道是否有人成功合并了JS套件和Coveralls上的Ruby套件的覆盖率报告.

  • 我想我可以做一些Simplecov hackery,并使用Coveralls push rake来推送一个合并的报告.

rspec gruntjs karma-runner coveralls

3
推荐指数
1
解决办法
395
查看次数