【发布时间】:2026-01-29 16:05:02
【问题描述】:
我正在使用 Elixir 自动执行以 Gherkin 编写的规范中定义的验收测试。一种方法是使用名为 Cabbage 的 ExUnit 插件。
现在 ExUnit 似乎提供了一个在任何单个测试之前运行的 setup 钩子和一个在整个套件之前运行的 setup_all 钩子。
现在,当我尝试通过重置 setup 挂钩中的持久性来隔离我的 Gherkin 场景时,似乎在执行每个步骤定义之前都会清除持久性。但是 Gherkin 中的一个场景几乎总是需要多个步骤来构建测试环境并以固定的顺序执行测试。
另一方面,另一个选项 setup_all 挂钩会为每个功能文件重置一次持久性。但是 Gherkin 中的功能文件几乎总是包含多个场景,理想情况下它们应该彼此完全隔离。
因此,上述钩子似乎允许我隔离单个步骤(我认为这毫无意义)和整个功能文件(这远非最佳)。
有没有办法隔离每个场景?
【问题讨论】:
标签: cucumber elixir gherkin ex-unit cabbage