java是否可以要求junit在进行测试之前运行一个命令?
在进行测试之前,可以要求junit运行一个规定吗
我不想运行@Before
,因为它只会初始化一个测试。
两者都不是setUp
,因为我认为它做的是相同的事情
有ClassRule,但它需要维护一个测试列表
最好有一个入口测试文件,这样我就可以从这里运行java代码了
用法示例:
- “整个测试需要启动一个数据库。”李>
- “需要运行迁移脚本”
我知道人们会告诉我在gradle或其他构建工具之前运行这个
我使用flyway进行数据库迁移,版本号存储在我的spring boot yaml文件中。我选择使用java而不是gradle来配置flyway,因为gradle需要使用命令行来进行迁移,所以不能与jenkins一起运行
此外,我不知道如何在gradle中读取yaml的值,也不知道如何运行脚本
# 1 楼答案
您需要使用^{} 注释
它表明所附加的静态方法必须在类中的所有测试之前执行一次和。当测试方法共享昂贵的计算设置(例如连接到数据库、连接池)时,就会发生这种情况
例如,Hibernate
SessionFactory
初始化的昂贵操作: