官方教程只提供了js版本:
如果想使用ts:
一、借助ts-node在运行测试时编译
- 先安装@types/cucumber、 ts-node
- 根目录下:
// cucumber.js // 重点是require steps文件,否则会找不到step,报undefined module.exports = { default: ` --require-module ts-node/register --require ./features/**/*.ts --require ./features/*.ts`}
3.check tsconfig.json
"module": "commonjs", // 这里必须是commonjs 否则会报SyntaxError: Unexpected token4.其他参考原教程
二、直接使用tsc编译再运行测试
- 通常我们需要准备一个供测试文件编译的tsconfig.test.json
- 修改test script
// 根目录下 tsconfig.test.json
{
"compilerOptions":
{
"module": "commonjs",
"rootDir": "features",
"outDir": "features"
},
"include": [ "./features/*.ts", "./features/**/*.ts" ],
"exclude": []}// package.json
"scripts": { ...
"test": "tsc -p tsconfig.test.json && cucumber-js features/"}这个时候可以不require step文件。我猜是因为已经转译成目录下的js,可以被检索到,如果是运行时编译就要手动require *.ts文件
有知道的敬请指教