【发布时间】:2018-02-01 14:01:40
【问题描述】:
我正在尝试使用 jenkinsPipelineUnit 来测试与我的共享库位于同一 git 存储库中的 JenkinsFile。此 Jenkinsfile 引用位于 src 中的共享库。看来我必须先提交我的共享库更改,然后才能测试它们,即使我在检索器中使用 localSource。
如何在不先提交代码的情况下加载我的共享库并对它们进行单元测试?
这是我当前不起作用的代码:
def library = library().name('pipeline-utils')
.defaultVersion("master")
.allowOverride(true)
.implicit(false)
.targetPath(sharedLibs)
.retriever(localSource(sharedLibs))
.build()
helper.registerSharedLibrary(library)
try {
def script = runScript("pipelines/test.groovy")
}
我收到此错误:
file:/Users/<myuserid>/git/pipelines/test.groovy: 2:
Error on loading library pipeline-utils@myteam/pipelineUnitTest :
Directory /Users/<myuserid>/git/out/test/classes/com/company/test/pipeline-utils@myteam/pipelineUnitTest does not exists @ line 2, column 1.
@Library("pipeline-utils@myteam/pipelineUnitTest") _
【问题讨论】:
-
谢谢!这两个拉取请求正是我想要实现的目标:直接测试共享库。因此,我的问题的当前答案可能是“当前不支持”。但是我想知道是否有人可以推荐一种直接利用 PipelineTestHelper 类的方法......这似乎是注入允许方法的神奇之处。也许答案就在其中一个拉取请求的细节中。
标签: unit-testing jenkins-pipeline jenkins-pipeline-unit