问题标签 [jenkins-pipeline-unit]
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.
image - 在 jenkinsfile 中运行 aws ECR 扫描命令
尝试在 Jenkins 文件中运行以下 2 个命令注意:以下命令在安装 Jenkins 的本地运行良好
以下是这两个命令的输出:
unit-testing - JenkinsPipelineUnit 助手可以拦截文本参数调用,但不能拦截字符串参数调用
如何让JenkinsPipelineUnit拦截 text() 和 string() 参数调用?我有代码可以触发带有一些参数的构建。我想写一个很好的单元测试来检查它是否做了它应该做的事情。但是, string() 调用没有被拦截,所以我无法测试它们。我可以测试 text() 调用。
是的,可以为 Jenkins 管道代码编写单元测试与通过 jenkins 生产作业进行测试。这个项目 + 共享库使 jenkins 成为一个更好的工具。
关于我如何做到这一点的任何想法?我查看了JenkinsPipelineUnit项目,但没有找到合适的示例,并且无法弄清楚在运行时对象中的位置。
我确实看到该项目的BasePipelineTest.groovy将字符串链接到它的stringInterceptor,这似乎只是把它吃掉了。也许,我可以注销他们的...
例子
结果
jenkins - 无法在 JenkinsPipelineUnit 中的空对象上获取属性“值”
我在 JenkinsSharedLib 中有以下模块调用 xrayExportJiraFeature.groovy 并在我的 javaPipeline 中调用该模块
从javaPipeline.groovy调用的上述模块
一旦我尝试在上面运行单元测试
在运行时,我在上面的指定行得到以下错误。
错误 :
注意:我正在使用 JenkinsPipelineUnit 来测试管道
build.gradle - Gradle 不在 groovy 中运行单元测试
我正在尝试在 groovy 中运行单元测试。测试类本身永远不会被调用。
我的 build.gradle 如下:
我的文件夹结构如下:
当我运行 .gradlew test 然后我的控制台显示
尽管我已经在 groovy 中声明了一个测试类,但测试为空。
有人可以帮助执行 gradle 测试。
java - 使用 JenkinsPipelineUnit 测试管道在脚本中导入时返回错误
我尝试使用 JenkinsPipelineUnit 执行的管道有一些导入和完整路径类。
在我声明测试(使用 Java/Junit5)后:
如何使用帮助程序或其他组件来允许测试解析类?
jenkins - 如何在 Jenkins PipelineUnit 中使用 libraryResource 模拟`pwsh`
我正在尝试为我的 Jenkins 共享库中的自定义步骤编写单元测试。我已经开始使用 Gradle 和 JenkinsPipelineUnit(通过本文末尾链接的文章),但我一直在模拟pwsh
运行 PowerShell 脚本的步骤。我的自定义步骤在vars/getRepo.groovy
:
测试是:
测试失败;对我来说,似乎我要么没有pwsh
正确地模拟这一步,要么包含该libraryResource
函数正在抛出一些东西。
JenkinsPipelineUnit 包中肯定有对模拟的原生支持libraryResource
,但我不知道如何使用它。来自JPU 回购:
它抛出了错误,所以它以某种方式使用了这个本地模拟。评论中提到的“url 类加载器”是什么?我确实尝试将 ps1 文件放在resources/
这个项目的目录中,但行为没有改变。
非常感谢这两个教程让我走到了这一步:
- https://medium.com/disney-streaming/testing-jenkins-shared-libraries-4d4939406fa2
- https://dev.to/kuperadrian/how-to-setup-a-unit-testable-jenkins-shared-pipeline-library-2e62
我也在尽我最大的努力记录我在自己的仓库中让这些测试工作的过程。,请随意查看。
bash - EOF:在 Jenkins 管道中找不到命令
我正在尝试在 Jenkins 管道中启动 Datadog 代理,但出现以下错误:
第 7 行:警告:第 2 行的此处文档由文件结尾分隔(需要“EOF”)。EOF:找不到命令错误。
任何帮助都会非常有帮助。