Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cucumber 甘蓝中的分离情景_Cucumber_Elixir_Gherkin_Ex Unit_Cabbage - Fatal编程技术网

Cucumber 甘蓝中的分离情景

Cucumber 甘蓝中的分离情景,cucumber,elixir,gherkin,ex-unit,cabbage,Cucumber,Elixir,Gherkin,Ex Unit,Cabbage,我正在使用Elixir自动化用小黄瓜编写的规范中定义的验收测试。实现这一点的一种方法是一个名为ExUnit的插件 现在,ExUnit似乎提供了一个setuphook,它在任何单个测试之前运行,以及一个setup\u allhook,它在整个套件之前运行 现在,当我试图通过在setuphook中重置持久性来隔离我的小黄瓜场景时,似乎在执行每个步骤定义之前,持久性都被清除了。但是,小黄瓜中的一个场景几乎总是需要多个步骤来构建测试环境并以固定顺序执行测试 另一方面,另一个选项是setup\u allh

我正在使用Elixir自动化用小黄瓜编写的规范中定义的验收测试。实现这一点的一种方法是一个名为ExUnit的插件

现在,ExUnit似乎提供了一个
setup
hook,它在任何单个测试之前运行,以及一个
setup\u all
hook,它在整个套件之前运行

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

另一方面,另一个选项是
setup\u all
hook,它会为每个要素文件重置一次持久性。但小黄瓜中的功能文件几乎总是包含多个场景,理想情况下,这些场景应该彼此完全隔离

所以前面提到的钩子似乎允许我孤立单个步骤(我认为是无意义的)和整个特征文件(这远远不是最优的)。


有没有办法将每个场景隔离开来?

首先,有一些备选方案,例如:

如果您的所有功能都需要类似的初始步骤,那么可能需要进一步研究。可悲的是,这些变化混合在一个更大的重写库中,更新的被合并到其中。还有另外一个也与其他功能混合在一起,目前正在等待。所以目前这不起作用

还没有测试库在安装钩子中的行为,但是安装程序应该可以正常工作

有一种东西叫做标签。我认为它还没有在新版本中发布,但是已经在master中发布了。它们使用回调标记。你可以更仔细地看一下

目前有一点混乱。我没有我想要的那么多时间去图书馆

希望这对您有所帮助:)