在我的 Jenkins 共享库中,/vars 目录中有大量定义自定义步骤的 groovy 文件。
其中许多都定义了多个方法,文件中的一个方法可能会调用同一文件中的另一个方法。
我正在寻找一种方法来模拟这些本地方法,这样我就可以对每个方法进行单元测试,特别是那些调用其他方法的方法,而无需实际调用它们。
说结构是这样的:
// vars/step.groovy
def method1() {
def someVar
result = method2(someVar)
if (result) {
echo 'ok'
}
else {
echo 'no'
}
}
def method2(value) {
if (value == 1) {
return true
}
else {
return false
}
}
Run Code Online (Sandbox Code Playgroud)
显然这是一个非常简单的例子。但我需要的是一种模拟方法,method2以便我可以使用 和 进行测试method1,result而true无需false实际调用method2。
我已经尝试过该helper.registerAllowedMethod模式,但这似乎不适用于本地方法。我尝试过 Mockito 和 Spock,但它们对于我的需求来说似乎太过分了,而且对于简单的情况需要注入太多的改变。我还尝试使用模拟闭包在测试脚本中本地定义方法,但我找不到执行此操作的正确位置和/或正确的语法。
我希望有一种方法可以做这样的事情:
// test/com/myOrg/stepTest.groovy
import org.junit.*
import com.lesfurets.jenkins.unit.*
import com.lesfurets.jenkins.unit.BasePipelineTest
import static …Run Code Online (Sandbox Code Playgroud) 我创建了一个应用程序,让用户输入产品并进行比较.我现在需要考虑扩展和多个用户,我想只向用户显示他们创建的项目(而不是整个数据库,这可能是某个选项,但现在每个用户必须创建自己的列表).
是否有一种罐装/首选方式使整个应用程序中的所有查询仅返回条目,并将"作者"字段设置为特定用户,登录用户?或者是否必须使用"AND author ..."类型过滤器更新每个查询?这是命名空间的用途吗?
我在Google App Engine上使用Python.
我不确定摘要是否明确说明了这一点。我想要做的是创建一个 jenkins 构建状态徽章 url,它将以某种方式能够找出它所在的 Git 分支,并动态地向 url 添加正确的分支后缀。
我想这样做,这样我就可以创建一个自述文件,它始终显示master,develop和<branch-i'm-looking-at>詹金斯建立是回购,而无需手动更新,每个分支的徽章。
我知道如何创建特定于分支的构建状态徽章。Jenkins 会自动为你构建 markdown URL。例如,我的一个develop分支看起来像:
[]
(https://jenkins.mycompany.com/path/to/build/develop/)
Run Code Online (Sandbox Code Playgroud)
我可以想象它会是使用${BRANCH_NAME}jenkins env var 的东西,但我想不出如何创建它。我对 git hooks 或其他脚本的经验不足,甚至无法开始想出一种方法来做到这一点。
有没有人做过这个?
提供似乎是多余的-match,并且-imatchif-match已经不区分大小写。他们之间有什么区别吗?