我有一个简单的项目,基本上是......
export class Application{
constructor(...){
...
}
async run(){
console.log("I Ran!");
}
}
我想使用 Cukes 运行它,所以我关注 these steps让这个工作 (注意 .cjs 扩展名表示节点它是一个 cjs 文件)// features/basic.feature
Feature: Hello World
Scenario: Hello World
Given I start the app
When it is running
Then I see the console
// features/support/steps.cjs
const { Given, When, Then } = require("@cucumber/cucumber");
Given("I start the app", function () {
// TODO: Setup child process
return
});
When("it is running", function () {
// TODO: Execute using Worker
return
});
Then("I see the console", function () {
// assert.equal(this.variable, number);
return
});
我将使用 cucumber-js --require features/support/steps.cjs
执行此操作但是现在我想导入应用程序并一步一步运行应用程序。由于我无法使用 .cjs 导入 ESM (.mjs) 文件,因此我不确定如何执行此操作。我尝试创建步骤文件的 .mjs 版本,但我也无法使其正常工作。我也试过
cucumber-js --require-module features/support/steps.mjs
但它仍然没有工作。如何在 ESM 风格的项目中使用 Cukes?
最佳答案
据我所知,这仍然是一个问题。
有一个实验版本的 cukes 可以使用,它开始解决这些问题(cukes 版本 7.2.0),您可以开始使用它来查看是否可以解决您想要实现的更改。
但是,8.0.0 版即将推出,其中特别解决了许多此类问题。新版本将在接下来的几天内发布(手指交叉)。
以下是他们迄今为止为解决您遇到的问题所做的所有工作的链接:cucumber-js add ESM support (take 2)
关于javascript - 如何在我的 ESM(ECMA 模块加载器)项目中使用 Cucumber?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69622341/