如何使用WebStorm在TypeScript而不是JavaScript中创建Cucumber步骤定义文件?

时间:2016-09-26 08:37:05

标签: javascript typescript cucumber webstorm cucumberjs

我正在使用Cucumber.js构建一个新的e2e测试套件,我想在我的步骤文件中使用TypeScript。当我创建一个新步骤并按Alt+Enter让WebStorm生成一个新的步骤文件时,我面临的唯一选择是创建一个JavaScript文件。enter image description here

有谁知道如何在TypeScript中创建一个新的步骤文件?

1 个答案:

答案 0 :(得分:2)

Webstorm似乎没有提供文件类型的向导" TypeScript"所以你可能想手动创建步骤定义文件。

对于Simple Math Example,可能的TS步骤定义文件可能如下所示:

import * as cucumber from "cucumber";

module.exports = function () {
    // Assign this to a typed variable so we have type-safe access
    let sd: cucumber.StepDefinitions = this;

    // The common variable is simply kept in function scope here
    let variable: number = 0;

    sd.Given(/^a variable set to (\d+)$/, (value: string) => {
        variable = parseInt(value);
    });

    sd.When(/^I increment the variable by (\d+)$/, (value: string) => {
        variable += parseInt(value);
    });

    sd.Then(/^the variable should contain (\d+)$/, (value: string) => {
        if (variable != parseInt(value))
            throw new Error('Variable should contain '+value
                          + ' but it contains ' + variable + '.');
    });
};

将此内容放入例如: features / step_definitions / mathSteps.ts并将the example中的要素代码粘贴到名为eg {3}}的文件中。 feature / math.feature,你应该有一个运行的例子。