有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

在进行测试之前,可以要求junit运行一个规定吗

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

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

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

用法示例:

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

我知道人们会告诉我在gradle或其他构建工具之前运行这个

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

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


共 (1) 个答案

  1. # 1 楼答案

    您需要使用^{}注释

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

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

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