typescript - CucumberJS 没有在 Gitlab CI 的打字稿中编译
问题描述
NPM 脚本:"cucumber": "cucumber-js --require features/tests.setup.js --require features/**/*.ts"
.
测试.setup.js:
require('ts-node').register({
transpileOnly: true,
compilerOptions: {
"module": "commonjs",
},
});
Gitlab CI错误:
> cucumber-js --require features/tests.setup.js --require features/**/*.ts
Error: Parse error in 'features/step-definitions/steps.calculus-triangle.ts': (1:1): expected: #EOF, #Language, #TagLine, #FeatureLine, #Comment, #Empty, got 'import {Then} from 'cucumber''
at events.forEach.event (/builds/Ambroise-Rabier/mandala-vibratoire/node_modules/cucumber/lib/cli/helpers.js:110:13)
at Array.forEach (<anonymous>)
at getTestCases (/builds/Ambroise-Rabier/mandala-vibratoire/node_modules/cucumber/lib/cli/helpers.js:81:10)
at _bluebird.default.each (/builds/Ambroise-Rabier/mandala-vibratoire/node_modules/cucumber/lib/cli/helpers.js:58:35)
它在本地工作(win 10),但在 Gitlab CI 上它似乎忽略了打字稿编译。
解决方案
我在 GitLab CI 中的 Error running ./node_modules/.bin/cucumber-js的帮助下找到了一些工作,但是我没有使用nyc
,所以这里只使用cucumberjs的解决方案。
NPM 脚本:"cucumber": "cucumber-js --profile default"
.
cucumber.js
在项目的根目录下创建包含内容的文件:
let common = [
'--require features/tests.setup.js',
'--require features/**/*.ts',
].join(' ');
module.exports = {
default: common,
};
相关文档:https ://github.com/cucumber/cucumber-js/blob/master/docs/cli.md#profiles
推荐阅读
- asp.net-mvc - 更新 EntityFramework 中的模型类名称
- java - 如何将 Spring Boot Web 服务引发的异常映射到复杂的故障信息?
- dialogflow-es - Google 助理上的 MalformedResponse 错误
- c# - 为什么 ObservableCollection 在 Android 上更新 UI 而不是 iOS?[待定]
- javascript - 谷歌云功能 | 每次为实时数据库触发另一个带有 onCreate 的函数时,都会调用带有触发器 onUpdate 的函数
- pentaho - 循环 Pentaho,我在每次执行时重新定义一个变量
- javascript - 如何使用 for 循环显示数组的所有元素(仅由字符串组成)?
- python - MQRNN(Seq2Seq LSTM + MLP)模型给出恒定预测
- javascript - 使用可选的第一个参数表达包罗万象的路线
- r - 将字符列格式化为带有小于和大于符号的数字