Java 在进行测试之前,可以要求junit运行一个规定吗?
在进行测试之前,可以要求junit运行一个规定吗 我不想在之前运行Java 在进行测试之前,可以要求junit运行一个规定吗?,java,spring,unit-testing,junit,spring-boot,Java,Spring,Unit Testing,Junit,Spring Boot,在进行测试之前,可以要求junit运行一个规定吗 我不想在之前运行,因为它只会初始化一个测试。 无论是setUp,因为我认为它做的是相同的事情 有ClassRule,但它需要维护一个测试列表 最好有一个入口测试文件,这样我就可以从这里运行java代码了 用法示例: “整个测试需要启动一个数据库。” “需要运行迁移脚本” 我知道人们会告诉我在gradle或其他构建工具之前运行这个 我使用flyway进行数据库迁移,版本号存储在我的spring boot yaml文件中。我选择使用java而不是
,因为它只会初始化一个测试。
无论是setUp
,因为我认为它做的是相同的事情
有ClassRule,但它需要维护一个测试列表
最好有一个入口测试文件,这样我就可以从这里运行java代码了
用法示例:
- “整个测试需要启动一个数据库。”
- “需要运行迁移脚本”
我知道人们会告诉我在gradle或其他构建工具之前运行这个
我使用flyway进行数据库迁移,版本号存储在我的spring boot yaml文件中。我选择使用java而不是gradle来配置flyway,因为gradle需要使用命令行来进行迁移,所以不能与jenkins一起运行
此外,我不知道如何在gradle中读取yaml的值,也不知道如何运行脚本。您需要使用注释
它指示附加到的静态方法必须在类中的所有测试之前执行一次。当测试方法共享昂贵的计算设置(例如连接到数据库、连接池)时,就会发生这种情况
例如,HibernateSessionFactory
初始化的昂贵操作:
private static SessionFactory sessionFactory;
@BeforeClass
public static void beforeClass() {
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
}
我将此标记为可能的重复,因为如果您只是在谈论Junit,“prescript”是不明确的。Junit只是一个运行单元测试的Java工具。有几种方法可以运行Junit(包括Gradle)。重复的问题解决了如何以可移植的Junit方式运行设置步骤,但您可能提出了错误的问题,可能想询问如何在Gradle中执行此操作。是否可以使用@Autowired?我如何在这个静态中加载上下文?@BigDong当然你是对的,这是不可能的,这是一个坏例子。我已经用另一个更新了。谢谢你的评论。