我正在使用 Jest 进行单元测试,并且正在集成 Cucumber.js 以运行用 Gherkin 编写的规范。
我已经全部设置好并且可以正常工作,但我遇到了一个问题:如何使用 Jest 的 expect
?我可以使用 chai
的,但我想在我的单元测试和我的步骤定义之间保持 expect
语法相同(我不想要 to.equal
在我的步骤定义和 toEqual
在我的单元测试中)。
我怎样才能做到这一点?经过一些挖掘后,Jest 似乎依赖于 expect
npm 包。我可以在我的 package.json
中明确依赖该包,但我更愿意使用我现有的 Jest 依赖项。也许这是不可能的,但我希望是这样。
另一种选择是通过 Jest 测试运行器以某种方式执行 Gherkin 规范。我也会接受那个选项。目前,我正在通过调用 cucumber.js
与我的 Jest 测试运行器分开运行它们。
原文由 Johannes Fahrenkrug 发布,翻译遵循 CC BY-SA 4.0 许可协议
expect
是玩笑运行时的全局范围。所以只要你在运行 jest,它就可用。我正在使用这个包(需要一些配置才能正确转换为你的 babel 配置): gherkin-jest这是一个使用 jest 文档中的 DOM 测试示例 的功能:
我发布的这个 问题 给出了配置示例。