我正在使用cucumber-jvm
集成测试,并且在所有场景都完成后仅需要执行一次代码。
在仔细阅读了一些类似这样的帖子并审查了此报告的问题之后,我已经完成了以下操作:
public class ContextSteps {
private static boolean initialized = false;
@cucumber.api.java.Before
public void setUp() throws Exception {
if (!initialized) {
// Init context. Run just once before first scenario starts
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
// End context. Run just once after all scenarios are finished
}
});
initialized = true;
}
}
}
我认为BeforeAll
以这种方式完成的上下文初始化(相当于)很好。但是,尽管它可以正常工作,但我不确定AfterAll
使用模拟Runtime.getRuntime().addShutdownHook()
是否是一种好的做法。
所以,这些是我的问题:
Runtime.getRuntime().addShutdownHook()
执行AfterAll
吗?AfterAll
cumber-jvm中的行为吗?在此先感谢您的帮助。
可能更好的方法是使用构建工具(例如Ant,Maven或Gradle)进行设置和拆卸操作,这是 集成测试的 一部分。
使用Maven Fail Safe插件进行集成测试时。有一个阶段pre-integration- test
,通常用于设置数据库和启动Web容器。然后运行集成测试(阶段integration-test
)。然后post-integration- test
运行该阶段,以关闭和关闭/移除/清理物品。
信息 如果通过JUnit运行Cucumber测试,则可能还需要考虑以下内容
如果它是更简单,更小的设置,则可以查看JUnit @BeforeClass和@AfterClass。或实现一个JUnit
@ClassRule,它具有自己的before()
和after()
方法。
@ClassRule
public static ExternalResource resource = new ExternalResource() {
@Override
protected void before() throws Throwable {
myServer.connect();
}
@Override
protected void after() {
myServer.disconnect();
}
};
本文向大家介绍使用黄瓜有什么好处?,包括了使用黄瓜有什么好处?的使用技巧和注意事项,需要的朋友参考一下 下面列出了使用黄瓜的一些优点- Cucumber是一种开源工具,不需要许可。 黄瓜可以通过Eclipse等IDE轻松配置。 黄瓜弥合了开发人员,测试人员,业务分析师,客户和产品所有者之间的理解和沟通差距。 黄瓜使没有技术知识的业务利益相关者参与其中。 黄瓜提供纯文本表示形式,使团队中的非技术人员
我试图在<code>serenity bdd<code>项目中实现全局钩子。当我浏览下面的链接时,发现其中没有一个对我有用。其中一些并不是Serenity BDD特有的。 解决方案1 解决方案2 我的Maven版本是:
问题内容: 我有一个Cucumber Step类,我正在尝试为所有方案初始化页面模型。所以我添加了一个@Before注释方法: 然后,我有了一系列依赖于loginPage设置的步骤。例如 我有多个Step类。上面的两个方法都在同一Step类中。但是loginPage始终为null。永远不会调用beforeScenario方法。我是否完全误解了@Before是如何工作的?关于如何获得我想要的工作的任
本文向大家介绍黄瓜中的胶水是什么意思?,包括了黄瓜中的胶水是什么意思?的使用技巧和注意事项,需要的朋友参考一下 胶水是Cucumber选项的一部分,它描述了步骤定义文件的位置和路径。 示例 测试运行器文件。
问题内容: 我尝试使用Java和Maven构建我的第一个可执行文件规范。我创建了一个具有以下结构的简单项目: 在junit测试中,我有这个: 现在https://github.com/cucumber/cucumber-jvm/wiki/IDE- support 表示我应该添加以下行: 我试图将其修改为 但注释根本不可用。我有这个依赖: 我想念什么吗? 更新 我丢失了一些东西:该黄瓜功能文件必须位
问题内容: 在对如何并行运行Cucumber测试用例进行了大量研究之后,我发现以下有关该主题的非常有用的文章: https://www.opencredo.com/2013/07/02/running-cucumber-jvm-tests-in- parallel/ 本文提供了一些很好的信息,可帮助您开始使用多线程环境,其中包括一些可以从Github下载的代码。 https://github.co