以下过程演示如何在 AWS CodeBuild 中使用 JasmineBDD 测试框架
该过程需要以下先决条件:
-
您有一个现有的 CodeBuild 项目。
-
您的项目是一个 Node.js 项目,此项目设置为使用 Jasmine 测试框架。
将 jasmine-reporters
package.json
文件的 devDependencies
部分。此程序包具有一系列可以与 Jasmine 一起使用 JavaScript 报告程序类。
npm install --save-dev jasmine-reporters
如果它尚未存在,请将 test
脚本添加到项目的 package.json
文件中。test
脚本确保在运行 npm test 时调用 Jasmine。
{
"scripts": {
"test": "npx jasmine"
}
}
CodeBuild 支持以下 Jasmine 测试报告程序:
- JUnitXmlReporter
-
用于以
JunitXml
格式生成报告。 - NUnitXmlReporter
-
用于以
NunitXml
格式生成报告。
默认情况下,具有 Jasmine 的 Node.js 项目将有一个 spec
子目录,其中包含 Jasmine 配置和测试脚本。
要将 Jasmine 配置为以 JunitXML
格式生成报告,请通过将以下代码添加到测试中来实例化 JUnitXmlReporter
报告程序。
var reporters = require('jasmine-reporters');
var junitReporter = new reporters.JUnitXmlReporter({
savePath: <test report directory>
,
filePrefix: <report filename>
,
consolidateAll: true
});
jasmine.getEnv().addReporter(junitReporter);
要将 Jasmine 配置为以 NunitXML
格式生成报告,请通过将以下代码添加到测试中来实例化 NUnitXmlReporter
报告程序。
var reporters = require('jasmine-reporters');
var nunitReporter = new reporters.NUnitXmlReporter({
savePath: <test report directory>
,
filePrefix: <report filename>
,
consolidateAll: true
});
jasmine.getEnv().addReporter(nunitReporter)
测试报告将导出到由 <测试报告目录>
/<报告文件名>
指定的文件中。
在您的 buildspec.yml
文件中,添加/更新以下部分。
version: 0.2
phases:
pre_build:
commands:
- npm install
build:
commands:
- npm build
- npm test
reports:
jasmine_reports:
files:
- <report filename>
file-format: JUNITXML
base-directory: <test report directory>
如果您使用的是 NunitXml
报告格式,请将 file-format
值更改为以下值。
file-format: NUNITXML