我有一个梦,我想和黄瓜一起实现。
我想将黄瓜和硒结合起来(到目前为止还不错),并使用标签优化测试执行。在我的梦里,我能够用代表数据库szenario的字符串标记我的szenarios。例如:
@noData
Scenario: bake a bread
@oneBread
Scenario: look at bread
@tenBreads
Scenario: give multiple breads to the poor
我的某些测试会更改数据,有些则不会。所以我想,如何将所有“不变”的测试进行聚类以并行访问给定的数据
@viewOnly
Scenario: look at a bread
@viewOnly
Scenario: smell a bread
通过这种群集,我的目标是实现最小的设置并在可能的情况下并行工作。
@noData
@viewOnly
Scenario: bake a bread
when i bake a bread
then i see a bread
@oneBread
@viewOnly
Scenario: look at a bread
then i see a bread
@oneBread
@viewOnly
Scenario: smell a bread
then i see a bread
@oneBread
Scenario: slice a bread in half
when i slice my bread
then i got two parts of the bread
@oneBread
Scenario: butter a bread
when i butter my bread
then i got one bread covered in butter
借助此功能文件,我希望此解决方案将按以下顺序处理功能:
在数据库中设置Szenario => @noData
@noData =>场景:烤面包
在数据库中设置Szenario => @oneBread
@oneBread => @viewOnly场景看面包
@oneBread => @viewOnly场景闻到面包
在数据库中设置Szenario => @oneBread
@oneBread =>方案将面包切成两半
在数据库中设置Szenario => @oneBread
@oneBread =>情景黄油面包
一旦我与JUnit跑步者一起玩,并尝试自己处理创建的JUnit测试。我是否需要再次编写自己的JUnit运行程序?还是可以使用黄瓜功能满足我的要求?
有人可以帮我吗?
最佳答案
您可以通过对每个数据库方案运行单独的测试来做到这一点。为此,请使用--tags参数,如此处https://github.com/cucumber/cucumber/wiki/Tags#running-a-subset-of-scenarios所述
我更喜欢的另一种方法是将类似的数据库方案放入功能文件中。例如针对那些如何更改数据的功能文件。使用@Before获取场景的标签。
@Before
public void beforeTest(Scenario scenario){
}
希望有帮助!