我一辈子都找不到在 Visual Studio Online 构建中启动 mocha 单元测试的文档或教程。
我有在 VSO 中构建并部署到 Azure 的 node.js 应用程序。这一切都很好。我似乎无法弄清楚如何通过构建过程启动规范文件。
这是怎么做到的?我缺少的地方是否有可用的文档。
我一辈子都找不到在 Visual Studio Online 构建中启动 mocha 单元测试的文档或教程。
我有在 VSO 中构建并部署到 Azure 的 node.js 应用程序。这一切都很好。我似乎无法弄清楚如何通过构建过程启动规范文件。
这是怎么做到的?我缺少的地方是否有可用的文档。
假设您已经使用 . 设置了 Mocha 测试package.json
,即使用 . 运行测试npm test
。有关更多信息,请参阅https://docs.npmjs.com/cli/test。
在您的 Visual Studio Online 构建/发布中:
install mocha-junit-reporter
test -- --reporter mocha-junit-reporter
--timeout 30000
因为构建代理的运行速度可能比您的开发箱慢对构建进行排队,您应该在 VSO 构建中看到 Mocha 测试结果。
在上述步骤之上:
package.json
npm install nyc--save-dev
package.json
{ "scripts": { "test": "nyc --repoter=cobertura mocha" } }
test -- --reporter mocha-junit-reporter
$(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml
$(System.DefaultWorkingDirectory)/coverage/
NPM_CONFIG_COVERAGE
并将其设置为true
现在,您在构建报告中获得了单元测试和代码覆盖率结果。
如果您已将 package.json 配置为能够运行测试,则添加一个执行的 npm 步骤npm run test
应该可以做到。如果要发布测试结果,您需要确保 Mocha 将其结果写入 Visual Studio Team Services 可以理解的格式。JUnit 格式将是一个安全的选择。然后跟进上传测试结果的发布测试结果步骤。
您还可以使用 Visual Studio Test Runner,结合 Chutzpah 来运行您的测试,但我想这将是很多额外的设置工作并且不会增加太多。
After quite a bit of fiddling around i got it to work by adding a "Command line task" to my build definition, i used the following parameters:
node
$(Build.SourcesDirectory)\node_modules\jasmine-node\bin\jasmine-node --verbose test\
My tests are under a "test" folder, also make sure you have jasmine-node as a dev dependency