我是Cucumber的新手并熟悉它。
但是在我的框架中我有@Before和@After方法,它们在&之前执行。在每个场景之后。
但是我需要在我的方案执行之前进行少量清洁。为此,我想从TestNG获得类似的@BeforeSuite功能。
有人可以帮忙获得关于它的指示吗?
谢谢, 乌代
答案 0 :(得分:1)
如果您的套件由一个跑步者定义,您可以使用简单的jUnit @BeforeClass
和@AfterClass
注释。
答案 1 :(得分:0)
你需要扩展黄瓜亚军。
http://mkolisnyk.github.io/cucumber-reports/extended-cucumber-runner
从字面上做它在锡上所说的内容......标准黄瓜的延伸提供了presuite和aftersuite方法。
编辑:使用Beforesuite和Aftersutie方法的更详细用法。
http://mkolisnyk.github.io/cucumber-reports/before-after-methods
希望这有帮助。
答案 2 :(得分:0)
您可以将Cucumber与TestNG一起使用,请查看此存储库以开始使用:https://github.com/igniteram/testng-cucumber。它具有您正在寻找的所有必要方法 Before / AfterSuite 钩子!只是一个例子。
答案 3 :(得分:0)
从Cucumber 2.4.0开始,如果您添加以下类,它应该可以工作:
您可以将其放置在test / java / cucumber / runtime中。
package cucumber.runtime; //cannot change. can be under /test/java
import cucumber.runtime.io.ResourceLoader;
import cucumber.runtime.snippets.FunctionNameGenerator;
import gherkin.pickles.PickleStep;
import java.util.List;
public class NameThisClassWhatever implements Backend {
private Glue glue;
private List<String> gluePaths;
@Override
public void loadGlue(Glue glue, List<String> gluePaths) {
this.glue = glue;
this.gluePaths = gluePaths;
//Any before steps here
}
@Override
public void disposeWorld() {
//any after steps here
}
@Override
public void setUnreportedStepExecutor(UnreportedStepExecutor executor) { }
@Override
public void buildWorld() { }
@Override
public String getSnippet(PickleStep p, String s, FunctionNameGenerator fng) {
return null;
}
public NameThisClassWhatever(ResourceLoader resourceLoader) { }
}