在Cabbage中隔离场景

问题描述 投票:3回答:1

我正在使用Elixir自动化使用Gherkin编写的规范中定义的验收测试。一种方法是使用名为Cabbage的ExUnit插件。

现在,ExUnit似乎提供了一个setup钩子,它在任何单个测试之前运行,而setup_all钩子在整个套件之前运行。

现在,当我尝试通过重置setup钩子中的持久性来隔离我的Gherkin场景时,似乎在执行每个步骤定义之前清除持久性。但是Gherkin中的一个场景几乎总是需要多个步骤来构建测试环境并以固定顺序执行测试。

另一方面,另一个选项是setup_all钩子,每个特征文件重置一次持久性。但是Gherkin中的一个特征文件几乎总是包含多个场景,理想情况下应该完全相互隔离。

所以前面提到的钩子似乎允许我隔离单个步骤(我认为没有意义)和整个特征文件(远非最佳)。

有没有办法隔离每个场景?

cucumber elixir gherkin ex-unit cabbage
1个回答
1
投票

首先,还有其他选择,例如:whitebread

如果你所有的功能,需要一些类似的初始步骤,也许background steps是值得研究的东西。遗憾的是,这些变化在更大的图书馆改写中被混合了,而新的图书馆已被合并。还有另一个PR也与其他功能混合,目前正在等待companion library update。所以目前这不起作用。

尚未测试库如何使用安装钩子,但setup_all应该可以正常工作。

有标签这样的东西。我认为尚未在新版本中发布,但是在掌握中。它们使用回调标记。你可以仔细看看example in tests

目前有一点点混乱。我没有像我想的那样有这个库的时间。

希望这对你有所帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.