我有一个项目,其中包含我从命令行使用Mocha运行的测试.我在packages.json中设置了一个测试脚本,如下所示:
“test”:“mocha ./**/*.spec.js –reporter dot –require jsdom-global / register”
我目前在Visual Studio Team Services中设置了一个简单的任务,它只运行npm test命令,它在控制台中运行Mocha并根据测试是否通过继续/失败构建.
我希望能够做的是让我的测试结果在运行后填充构建定义中的“测试”选项卡.就像我在C#代码上运行测试一样,我可以填充此选项卡.
我已经尝试过使用Chutzpah,但它过于复杂,似乎要求我跳过各种各样的箍,这意味着改变我的测试并编写长配置文件.我已经编写了大量的测试,所以真的不想这样做.当它最终发现我的任何测试时,它抱怨了需求和与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无法正常工作,即使它被列为一个选项.