Dyl*_*rry 6 unit-testing node.js azure-pipelines-build-task azure-pipelines
我有一个项目,其中包含我从命令行使用Mocha运行的测试.我在我的设置了一个测试脚本,packages.json如下所示:
"test": "mocha ./**/*.spec.js --reporter dot --require jsdom-global/register"
我目前在Visual Studio Team Services中设置了一个简单的任务,它只运行npm test命令,它在控制台中运行Mocha并根据测试是否通过继续/失败构建.
我希望能够做的是让我的测试结果在运行后填充构建定义中的"测试"选项卡.就像我在C#代码上运行测试一样,我可以填充此选项卡.
我已经尝试过使用Chutzpah,但它过于复杂,似乎要求我跳过各种各样的箍,这意味着改变我的测试并编写长配置文件.我已经编写了大量的测试,所以真的不想这样做.当它最终发现我的任何测试时,它抱怨require和其他与Node模块有关的事情.
我要求的实际可能吗?有没有一种简单的方法来实现这与在Node中运行我的测试兼容?
我发现了一种不需要第三方适配器的好方法(例如Chutzpah).它涉及让Mocha以XML格式输出报告,并设置Visual Studio Team Services以在构建定义的额外步骤中发布结果.
我安装了mocha-junit-reporter(https://www.npmjs.com/package/mocha-junit-reporter)并将我的测试脚本更改为以下内容:
"test": "mocha ./temp/**/*.spec.js --reporter mocha-junit-reporter --require jsdom-global/register"
然后,我使用"发布测试结果"任务在我的构建定义中创建了一个新步骤.我将结果格式设置为"JUnit",并为test-results.xml报告者创建的输出文件添加了正确的路径.
值得注意的是,虽然Mocha附带了一个"XUnit"记者,但这种格式似乎与VSTS无法正常工作,即使它被列为一个选项.
npm test现在的结果显示在"测试"选项卡中,以及来自MSTest等的任何其他测试.
| 归档时间: |
|
| 查看次数: |
2920 次 |
| 最近记录: |