Azure Devops react-scripts 测试永远挂起
Posted
技术标签:
【中文标题】Azure Devops react-scripts 测试永远挂起【英文标题】:Azure Dev Ops react-scripts test hangs forever 【发布时间】:2019-11-24 14:42:21 【问题描述】:我正在尝试在 Azure Dev Ops 中运行我的 react 应用程序的测试,但我不知道如何在测试运行后停止执行。它只是挂在那里,使管道永远处于运行模式。这是一个简单的 create-react-app 应用程序,有几个测试。以下是我管道的 YAML:
trigger: none
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
npm install
npm run build
displayName: 'npm install and build'
- script: npm run citest
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'react'
targetPath: './build'
我刚刚在测试步骤中添加了“- script: npm test”,但是按照in the facebook github 的说明,我创建了一个新的测试脚本(称为 citest):set CI=true && react-scripts test a
,但它仍然无法正常工作。我在 dev ops 控制台中得到以下输出,并且该任务一直在运行:
> set CI=true && react-scripts test a
PASS src/components/landing/landing.test.js (6.008s)
PASS src/components/navbar/NavBar.test.js
PASS src/components/app/App.test.js
Test Suites: 3 passed, 3 total
Tests: 3 passed, 3 total
Snapshots: 0 total
Time: 7.573s
Ran all test suites matching /a/i.
我已经没有关于尝试什么的想法了 - 感谢任何帮助!
【问题讨论】:
【参考方案1】:像这样更新脚本:
"scripts":
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"citest":"CI=true react-scripts test"
,
【讨论】:
感谢您的回复。我试过了,但测试似乎并没有真正运行,这是完整的输出(它说运行 > --------@0.0.1 citest /home/vsts/work/1/s > set CI=true react-scripts test ##[section]Finishing: run tests @YuriW 值是“CI=true react-scripts test”而不是“set CI=true react-scripts test”(删除设置) 啊,我明白了。没注意到!似乎现在可以工作了。谢谢!【参考方案2】:我遇到了同样的问题,通过将它放在我的管道 YAML 文件中解决了它:
- script: set CI=true&&npm test
displayName: Test
官方文档:https://create-react-app.dev/docs/running-tests/#continuous-integration
【讨论】:
以上是关于Azure Devops react-scripts 测试永远挂起的主要内容,如果未能解决你的问题,请参考以下文章
Azure DevOps系列Azure DevOps构建.NET EFCore应用程序
azure devops cloud 和 azure devops server 2019 之间的区别
如何从 Azure Devops 服务器迁移到 Azure Devops 服务中的现有组织