gpt4 book ai didi

java - 在其他人之前进行集成测试

转载 作者:行者123 更新时间:2023-12-01 04:25:36 25 4
gpt4 key购买 nike

我有很多集成测试,需要在运行之前填充数据库。该任务大约需要 30 分钟,因此不可能在每次测试之前都运行它。

我正在使用 junit,我希望能够用一些东西注释这个类,以便它在其他类开始之前运行并完成。这可能吗?

(我发现的大多数注释仅适用于方法,例如@Rule)

最佳答案

我过去通过向各个测试类添加设置和拆卸函数来完成此操作,并用 @BeforeClass@AfterClass 进行注释。

@BeforeClass
public static void setupBeforeClass() {
DatabasePopulater.populate();
}

@AfterClass
public static void tearDownAfterClass() {
DatabasePopulater.dePopulate();
}

如果多个测试类需要完成相同的设置,设置函数可以执行一种引用计数,以确保它们仅在第一次调用时执行其工作:

public class DatabasePopulater {
AtomicInteger invocations = new AtomicInteger();
....

public static void populate() {
if (0 == ivocations.getAndIncrement()) {
// Actually populate DB
}
}

public static void dePopulate() {
if (0 == ivocations.decrementAndGet()) {
// Actually clear DB
}
}

关于java - 在其他人之前进行集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18535095/

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