Jenkins / jest和CI,
我已经使用create-react-app创建了一个反应APP,我使用JEST进行测试,我在创建的app.test.js文件中做了一些新的更改,并致力于git-hub-用jenkins连接它 - 当我在本地机器上运行npm test,测试运行良好,它们都通过了.. 但是,当我运行jenkins管道脚本时,它会说:
No tests found related to files changed since last commit.
Press a to run all tests, or run Jest with --watchAll.
Watch Usage
› Press a to run all tests.
› Press p to filter by a filename regex pattern.
› Press q to quit watch mode.
› Press Enter to trigger a test run.
我已经尝试更改app.test.js - 创建了一个新文件提交更改,然后在jenkins中创建了一个新管道并再次尝试(我也尝试过这些讨论:https://github.com/facebookincubator/create-react-app/issues/930)但我仍然得到了上面的错误:我的管道脚本如下所示:
node{
stage "CI"
git 'https://github.com/NaveenDK/mentalshortcuts.git'
bat "npm install"
stage " Unit testing"
bat "npm test"
}
def notify(status){
emailext (
to: "dd@dd.com",
subject: "${status}: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
body: """<p>${status}: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
<p>Check console output at <a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a></p>""",
)
}
node {
notify("Deploy to staging?")
}
input 'Deploy to Staging?'
node {
bat "npm run-script build"
}
任何帮助任何链接任何东西都会很棒!
答案 0 :(得分:3)
由于Jenkins在Windows上运行,测试没有在jenkins上运行,Windows也不支持glob,即src / ** / *。js。
当项目是在安装在Linux操作系统上的Jenkins构建时,没有遇到此问题!
答案 1 :(得分:1)
我也面临着同样的问题。如Naveen所述,Windows不支持glob,即src / ** / *。js。 这就是在Jenkins配置中将标签更改为Linux的原因。在此处查看预览。 Jenkins configuration
然后在构建部分中,将以下行添加为shell命令:
npm install
npm run build
CI=true npm test
始终首先运行npm install
。它将安装所有软件包。
然后运行npm run build
来构建应用
最后,请确保写入CI=true npm test
。它只会运行一次测试用例。如果您改写npm test
,则它将运行测试并永远进入监视模式。
我希望这会有所帮助。
答案 2 :(得分:0)
我在本地计算机上遇到这样的问题,
"test": "jest --watchAll"