gpt4 book ai didi

java - 是否可以要求 junit 在进行测试之前运行处方?

转载 作者:行者123 更新时间:2023-11-30 02:42:55 25 4
gpt4 key购买 nike

是否可以要求 junit 在进行测试之前运行一个指令?

我不想跑@Before因为它只会初始化一个测试。两者都不是setUp我认为它做了同样的事情。

有ClassRule,但它需要维护测试列表。

最好有一个入口测试文件,这样我就可以从这里运行我的 java 代码。

使用示例:

  • “整个测试需要启动数据库。”
  • “需要运行迁移脚本”

我知道人们会告诉我先在 gradle 或其他构建工具中运行它。

我使用 Flyway 进行数据库迁移,版本号存储在我的 Spring Boot yaml 文件中。我选择使用java而不是gradle来配置flyway,因为gradle需要使用命令行进行迁移,所以无法使用jenkins运行。

另外,我不知道如何在 gradle 中读取 yaml 的值,也不知道如何运行脚本。

最佳答案

您需要使用@BeforeClass注解。

它表示附加的静态方法必须执行一次并且在类中的所有测试之前。当测试方法共享计算成本高昂的设置(例如连接到数据库、连接池)时,就会发生这种情况。

例如 Hibernate SessionFactory 初始化的昂贵操作:

private static SessionFactory sessionFactory;

@BeforeClass
public static void beforeClass() {
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
}

关于java - 是否可以要求 junit 在进行测试之前运行处方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41128604/

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