我有一个梦,我想和黄瓜一起实现。

我想将黄瓜和硒结合起来(到目前为止还不错),并使用标签优化测试执行。在我的梦里,我能够用代表数据库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){

}


希望有帮助!

07-22 05:56