带有打字稿的赛普拉斯黄瓜预处理器自定义参数类型
Cypress cucumber preprocessor custom parameter type with typescript
我正在使用带有 cypress 和 typescript 的 cypress-cucumber-preprocessor。我还注意到有可能使用自定义参数类型,如下所示:
https://github.com/TheBrainFamily/cypress-cucumber-preprocessor/blob/master/cypress/support/step_definitions/customParameterTypes.js
但是我在使用 Typescript 时遇到了麻烦运行。
打字稿中的接口定义为export function defineParameterType(): void;
所以如果我导入模块,我不能写一个正确的定义。
但是如果我使用 javascript 如 expamle 所示,那么我总是得到错误
Uncaught Error: Undefined parameter type {boolean}
我的 javascript 代码如下所示:
defineParameterType({
name: "boolean",
regexp: /true|false/,
transformer(s) {
return s === 'true';
}
});
有没有办法使用 Typescript 让它工作?
关于自定义类型的文档有点简单(顺便说一句,这不是对包作者的批评,文档是艰苦的工作)。
我能够通过在 support/custom-parameter-types.ts
中定义我的自定义类型来使其工作,然后在我想使用自定义类型的步骤文件中使用 import '<path-to-your-support-folder>/custom-parameter-types';
导入该文件
我不是 100% 确定这是做事的正确方法,但它确实有效。
编辑:我应该注意,虽然这可行,但根据您的 editor/IDE,您可能会发现功能文件中的步骤未定义。
我正在使用带有 cypress 和 typescript 的 cypress-cucumber-preprocessor。我还注意到有可能使用自定义参数类型,如下所示: https://github.com/TheBrainFamily/cypress-cucumber-preprocessor/blob/master/cypress/support/step_definitions/customParameterTypes.js
但是我在使用 Typescript 时遇到了麻烦运行。
打字稿中的接口定义为export function defineParameterType(): void;
所以如果我导入模块,我不能写一个正确的定义。
但是如果我使用 javascript 如 expamle 所示,那么我总是得到错误
Uncaught Error: Undefined parameter type {boolean}
我的 javascript 代码如下所示:
defineParameterType({
name: "boolean",
regexp: /true|false/,
transformer(s) {
return s === 'true';
}
});
有没有办法使用 Typescript 让它工作?
关于自定义类型的文档有点简单(顺便说一句,这不是对包作者的批评,文档是艰苦的工作)。
我能够通过在 support/custom-parameter-types.ts
中定义我的自定义类型来使其工作,然后在我想使用自定义类型的步骤文件中使用 import '<path-to-your-support-folder>/custom-parameter-types';
我不是 100% 确定这是做事的正确方法,但它确实有效。
编辑:我应该注意,虽然这可行,但根据您的 editor/IDE,您可能会发现功能文件中的步骤未定义。