scala - 如何在黄瓜套件之前/之后运行代码?
问题描述
我试图弄清楚如何在所有黄瓜测试运行之前和之后运行一些代码。
几天来,我一直在追踪一个错误,其中我们的一些进程在服务器上创建作业,但没有正确清理它。这很容易错过,所以理想情况下我不希望工程师必须手动为每个测试添加检查。
我希望有一种方法可以在任何测试运行之前放入一个挂钩以缓存服务器上存在多少作业,然后在最后一个挂钩以确保该值没有改变。
我知道这并不是使用 cucumber 的最佳方式,因为这更像是一种系统测试类型的事情,但这样做是使其适应现有基础设施的最佳方式。
解决方案
在你的运行文件中使用@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
}
}
推荐阅读
- python - 在排序一个列表期间将不同列表中的相关元素保持在一起
- c# - 如何对通用列表对象进行排序
- javascript - 向和从 js 服务器发送数据的基本方法?
- json - 使用 Pyspark 处理 JSON 结构
- amazon-web-services - 为什么角色假设应该在 lambda 内部完成?
- html - 如何将数值绑定到 CSS 以创建时间线?
- docker - 如何为 docker compose 环境变量设置运行时变量
- javascript - 仅在 Javascript 中具有不同段落的动态 Div
- tsql - 表格模型中的测量列未在浏览器中显示正确的值
- javascript - 调用此函数时如何获取返回值?