由于 stryker 分数的原因,Jenkins 构建失败

Jenkins build fail for reason stryker score

目标是当 stryker 得分低于 X 时管道构建失败。 如何在 Jenkins 文件或其他一些方法中配置它?

stryker 会议:

  config.set({
    mutator: "javascript",
    mutate: [...],
    testRunner: "jest",
    jest: {
      projectType: "node",
      config: require("jest.config.js"),
      enableFindRelatedTests: true,
    },
    loglevel: "trace",
    packageManager: "yarn",
    reporters: ["html", "clear-text", "progress", "dashboard"],
    transpilers: [],
    coverageAnalysis: "off",
  });

Jenkins文件片段:

 "Stryker test": {
stage('Mutation') {
node("${containerName}") {
container("${containerName}") {
unstash name: 'myApp'
dir("./my") {
sh '''hostname
./node_modules/.bin/stryker run
'''
}

您可以使用 thresholds 配置实现此目的。例如,Stryker 将在分数低于 40 时出现错误(退出代码 1),配置如下:

  config.set({
    thresholds: { high: 80, low: 60, break: 40 }
    ...
  });

这意味着您的突变得分结果将是:

  • 突变分数 >= 80:太棒了!记者应该给这个涂上绿色和快乐。
  • high > mutation score >= 60:警告!记者应该给这个orange/yellow上色。小心你自己!然而,什么都不会坏。
  • 突变得分 < 60:危险!记者应将其涂成红色。您处于危险之中,但仍然退出代码 0
  • 突变得分 < 40:错误! Stryker 将以退出代码 1 退出,表示构建失败。不过,对记者来说没有任何后果。