繁体   English   中英

如何修复 cucumber-js 中的“TypeError:this.parameterTypes 不是函数”?

[英]How to fix “TypeError: this.parameterTypes is not a function” in cucumber-js?

我正在尝试使用 Cucumber.js 但由于某种原因,片段生成被破坏了。 我不确定我的设置是否错误,或者 cucumber-js 本身是否存在错误。

我设置了一个简单的测试项目https://github.com/cwansart/cucumber-js-test并运行 npx npx cucumber-js引发以下错误:

TypeError: this.parameterTypes is not a function
    at CucumberExpressionGenerator.createParameterTypeMatchers (/home/runner/work/cucumber-js-test/cucumber-js-test/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.js:110:41)
    at CucumberExpressionGenerator.generateExpressions (/home/runner/work/cucumber-js-test/cucumber-js-test/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.js:27:42)
Error: Process completed with exit code 1.

见: https://github.com/cwansart/cucumber-js-test/runs/1854253039

我试图在 cucumber 代码中找到问题,但到目前为止还没有成功。

测试工作,然后我再次在features/support/steps.js中添加then块。

如何解决这个问题?

这里也有同样的错误。 我通过降级到cucumber 6.0.5解决了我的问题。

我使用以下命令进行降级yarn upgrade cucumber@6.0.5

您所做的一切都没有错(顺便说一句,感谢测试回购,这有帮助),这是新版本的依赖项的问题。

这是 GitHub 问题: https://github.com/cucumber/cucumber-js/issues/1571

很快就会有一个 cucumber-js 的补丁版本来解决这个问题,但与此同时,如果你将项目中的@cucumber/cucumber-expressions版本覆盖为11.0.0 (所以它不会选择 11.0.1 ) 应该可以解决它。

更新:已经发布了一个补丁来解决这个问题:

我们刚刚发布了黄瓜表达式版本 11.0.2,它修复了从 11.0.1 的回归。 如果您在npm update [在您的项目中] 问题应该 go 消失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM