首页 > 解决方案 > 如何在黄瓜套件之前/之后运行代码?

问题描述

我试图弄清楚如何在所有黄瓜测试运行之前和之后运行一些代码。

几天来,我一直在追踪一个错误,其中我们的一些进程在服务器上创建作业,但没有正确清理它。这很容易错过,所以理想情况下我不希望工程师必须手动为每个测试添加检查。

我希望有一种方法可以在任何测试运行之前放入一个挂钩以缓存服务器上存在多少作业,然后在最后一个挂钩以确保该值没有改变。

我知道这并不是使用 cucumber 的最佳方式,因为这更像是一种系统测试类型的事情,但这样做是使其适应现有基础设施的最佳方式。

标签: scalacucumber

解决方案


在你的运行文件中使用@BeforeClass@AfterClass注释。

@RunWith(Cucumber.class)
@Cucumber.Options(
    format = {"json", "<the report file>"},
    features = {"<the feature file>"},
    strict = false,
    glue = {"<package with steps classes>"})
public class TestRunFile { 
    @BeforeClass
    public static void getJobNumbersOnServerBeforeStarting() {
        //Implement logic
    }

    @AfterClass
    public static void getJobNumbersOnServerAfterCompletion() {
        //Implement logic
    }
}

推荐阅读