gpt4 book ai didi

java - 在 Junit4 中,如何根据 @Test 注释更改 @Before 行为

转载 作者:行者123 更新时间:2023-12-04 06:09:38 24 4
gpt4 key购买 nike

我希望我的@Before 方法知道当前正在执行的测试注解,以便@Before 方法可以做各种事情。具体来说,现在我们的@Before 总是执行各种初始化步骤,例如重新加载数据库等。我希望能够编写这样的代码:

@Before
void setUp() {
if (testMethod.hasAnnotation(@NeedsDatabase)) {
reloadDatabase();
}
}

我想一种解决方案是使用 @Rule 进行数据库初始化,但这实现起来会很复杂,而且我们现有的基础设施已经在 @setUp 中处理了这个问题。我们已经有一个自定义的 Runner 并且所有测试都扩展了一个共享基类,如果有帮助的话。

我试图想一种方法来做到这一点,但我不知道 JUnit4 中有什么可用。

最佳答案

您可以使用 @RunWith annotion,并创建您自己的 ParentRunner扫描您的 @NeedsDatabase 注释并适当处理设置。

关于java - 在 Junit4 中,如何根据 @Test 注释更改 @Before 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7925630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com