在Visual Studio Team Services Build中启动摩卡测试

我不能在我的生活中找到用于在Visual Studio Online构建中启动摩卡单位测试的文档或教程。

我有在VSO中构建并正在部署到Azure的node.js应用程序。 这一切都奇妙地起作用。 我似乎无法弄清楚如何通过构建过程启动spec文件。

这是如何完成的? 是否有文档可用,我失踪了。


假设你已经用你的package.json设置了Mocha测试,即你用npm test 。 有关更多信息,请参阅https://docs.npmjs.com/cli/test。

在您的Visual Studio Online构建版本中:

  • 添加一个“npm”任务来安装JUnit记者
  • 运行自定义命令install mocha-junit-reporter
  • 添加一个“npm”任务
  • 运行自定义命令test -- --reporter mocha-junit-reporter
  • 提示:您可能希望通过添加--timeout 30000来增加超时时间,因为构建代理可能比您的开发框运行得慢
  • 然后,添加“发布测试结果”任务
  • 将“测试结果格式”设置为“JUnit”
  • 选中“继续出错”方框
  • 在“控制选项”>“运行此任务”下,将其设置为“即使之前的任务失败,除非构建被取消”
  • 排队构建,您应该在VSO构建中看到Mocha测试结果。

    奖金! 您还可以将代码覆盖范围添加到您在伊斯坦布尔运行的Mocha。

    在上面的步骤之上:

  • 将Istanbul本地安装到您的package.json
  • 运行npm install istanbul --save-dev
  • 修改package.json的脚本
  • 更新{ "scripts": { "test": "istanbul test node_modules/mocha/bin/_mocha" } }
  • 修改“npm测试”任务
  • 运行自定义命令test -- --report cobertura --report html -- --reporter mocha-junit-reporter
  • 添加“发布代码覆盖率结果”任务
  • 将“代码覆盖工具”设置为“Cobertura”
  • 将“摘要文件”设置为$(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml
  • 将“报告目录”设置为$(System.DefaultWorkingDirectory)/coverage/
  • 选中“继续出错”方框
  • 在“控制选项”>“运行此任务”下,将其设置为“即使之前的任务失败,除非构建被取消”
  • 添加一个新的构建变量NPM_CONFIG_COVERAGE并将其设置为true
  • 现在,您已在构建报告中获得了单元测试和代码覆盖率结果。


    如果你已经配置了package.json来运行测试,那么添加一个执行npm run test的npm步骤应该可以做到。 如果您想发布测试结果,您需要确保Mocha将其结果写入Visual Studio Team Services所了解的格式。 JUnit格式将是一个安全的选择。 然后继续上传测试结果的发布测试结果步骤。

    你也可以使用Visual Studio Test Runner和Chutzpah来运行你的测试,但我想这将是很多额外的工作来设置,并且不会增加太多。


    经过相当多的摆弄之后,我通过向我的构建定义中添加了一个“命令行任务”,我使用了以下参数:

  • 将工具设置为node
  • 将参数设置为$(Build.SourcesDirectory)node_modulesjasmine-nodebinjasmine-node --verbose test
  • 我的测试是在一个“测试”文件夹下,也确保你有茉莉花节点作为开发依赖 在这里输入图像描述

    链接地址: http://www.djcxy.com/p/27009.html

    上一篇: Kick off mocha tests in Visual Studio Team Services Build

    下一篇: MemoryStream to SecureString: Wiping the memory