问题标签 [jenkins-spock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jenkins - 在测试管道代码时验证 Jenkins 调用
我正在编写一个 Jenkins 管道库,并且在模拟/验证现有的 Jenkins 管道步骤时遇到了一些困难。
我正在使用homeaway 的 jenkins-spock进行单元测试,但我认为我的问题与 Spock 相关。
这是我的单元测试。我试图说 writeFile 是用与 logFileText 内容匹配的文本调用的,而忽略了其他参数是什么。我尝试了许多组合,但似乎总是对以下响应得到相同或相似的响应:
这是为了测试这个类
我不知道如何验证这个电话。我在 Java 和 Junit 方面有很多经验,但我对 Spock 比较陌生。
我该如何验证这一点?
jenkins-groovy - Jenkins Spock 测试因 java.lang.NoSuchMethodError 失败:com.google.common.collect.Sets
JenkinsPipelineSpecification
基于测试失败并出现错误:java.lang.NoSuchMethodError: com.google.common.collect.Sets$SetView.iterator()Lcom/google/common/collect/UnmodifiableIterator;
spock - java.lang.AbstractMethodError 在为我的 SPOCK 测试实现 Spock-Reports 扩展 (renatoathaydes)
我对 SPOCK 很陌生,所以如果这是一个愚蠢的问题,请原谅。我已经在基于 Maven 的 Spock-Groovy 项目中完成了报告设置,如下面的 git-hub 项目中所述 - https://github.com/renatoathaydes/spock-reports
我所做的是——
在我的 POM 中添加了以下 3 个 Mvn 依赖项:
com.athaydes spock-reports 2.0-RC2 测试 * * org.slf4j slf4j-api 1.7.30 测试 org.slf4j slf4j-simple 1.7.30 测试将报告 Config.groovy 添加到 src/test/groovy 路径如下 -
spockReports { // 一次性设置所有属性 set( [ 'com.athaydes.spockframework.report.showCodeBlocks': true, 'com.athaydes.spockframework.report.outputDir': 'target/spock-reports' ] ) }
现在按照上面的 git 指令结果,应该在我的 target/spock-reports 目录中使用 index.html 生成,但是在运行测试时我遇到了异常。无法理解我该怎么做才能修复此错误!
我还尝试更改为上述依赖项的最新版本,即2.0.0-alpha1,但没有帮助:( 注意:但是在上述两个更改之前一切正常。
线程“主”java.lang.AbstractMethodError 中的异常:接收器类 com.athaydes.spockframework.report.internal.SpockReportsConfiguration 未定义或继承已解析方法抽象 getProperty(Ljava/lang/String;)Ljava/lang/ 的实现目的; groovy.lang.GroovyObject 接口。在 org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:190) 在 groovy.lang.Closure.getPropertyTryThese(Closure.java:313) 在 groovy.lang.Closure.getPropertyOwnerFirst(Closure.java:307) 在groovy.lang.Closure.getProperty(Closure.java:296) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty( AbstractCallSite.java:309)
任何帮助将不胜感激。提前致谢。
groovy - 如何在 spock 测试中将任意文本写入控制台?
在编写测试时,我有时只想将文本写入控制台以进行调试。
如何在 spock 测试中执行此操作?我尝试使用记录器,但它抛出了一个错误:
jenkins-pipeline - Jenkins-spock:方法存根失败取决于平台
这是我编写的一段(简化的)代码和相关的单元测试,直到最近我都对此感到高兴。
文件 vars/deleteFile.groovy
文件 vars/toto.groovy:
文件测试/vars/TotoSpec.groovy:
该测试过去在我的本地机器和 CI 从站上都通过了。但是,我不知道为什么,这在我的本地机器上开始失败(但不是在从属机器上):
因此,我对我的单元测试执行了以下更新,但我不确定是否deleteFile
真的是一个管道步骤,因为它没有主体/闭包。
文件测试/vars/TotoSpec.groovy:
现在单元测试在我的本地机器上正常,但在 CI 从站上失败:
我错过了什么?
本地配置:
CI 从站配置:
pom.xml 中的依赖项
jenkins - Jenkins spock:模拟 http-request-plugin 的 httpRequest
在我的共享库的某个地方,我得到了一个像这样的帮助类:
我正在尝试像这样测试所述类:
我正在使用 gradle 并且我的build.gradle
文件有
其他步骤的测试运行完美,但我总是得到这个
当我使用时,explicitlyMockPipelineStep('httpRequest')
我得到一个空指针异常,因为我认为默认的模拟返回一个空值。
我在测试中是否缺少任何东西以使其正常工作?提前致谢!!!
jenkins - 使用 Spock 和 jenkins-spock 模拟 Jenkins 内部函数
我想要做的是创建一个返回模拟的方法模拟,这样我就可以测试一个类的以下disconnectNode 方法。我试图模拟的是 getJenkinsNode 方法中的 getNode 和 toComputer 调用。
但是,我还没到。我正在尝试弄清楚为什么我不能让一个模拟返回另一个模拟。
使用jenkins-spock和 Spock 我设法做了以下测试规范,只是为了试图找出问题所在
测试后打印的消息是。
结果真的很混乱。通过第一次打印,我可以看出 getNode 函数正在按预期返回模拟节点。通过第二次打印,我可以看出 Computer 类的模拟已创建。但是第 3 次和第 4 次打印返回 null 所以问题出在方法 toComputer 的模拟上,但我不知道我做错了什么
有任何想法吗?
谢谢!
unit-testing - 使用 jenkins-spock 在单元测试中评估来自 Jenkins 共享库的返回值
所以我在我的 vars 文件夹中有一个脚本化的共享管道库,它在最后返回一些值:
现在我尝试像这样测试它:
这不起作用,因为结果将始终为空。我已经用 Jenkins-Spock 针对不同的场景编写了相当多的测试,所以基本机制很清楚。但是在这种情况下我错过了什么?
groovy - 无法解析 com.homeaway.devtools.jenkins.testing.JenkinsPipelineSpecification 类
我正在尝试使用Maven运行一些 spock 测试。我之前已经使用groovy 2.4 版进行了测试。现在当我切换到 2.5+ 时,它显示了一些错误。
我最小的pom是:
我的项目结构如下:
这是错误报告:虽然我的 pom 中已经有依赖jenkins-spock,但为什么会出现此错误?
unit-testing - Jenkins-Spock 测试因 NoClassDefFoundError 而失败
我在我的 Jenkins 共享库项目中安装了 jenkins-spock 包。当我尝试运行我创建的测试时,出现以下错误:
这是我的 build.gradle 文件内容:
插件{ id 'groovy' id 'java' id 'idea' }
欢迎任何意见或建议。提前致谢 !