【发布时间】:2020-08-02 19:25:31
【问题描述】:
我正在使用 spring boot、kotlin 和 junit5。我有一个测试课,当我使用@RunWith(SpringRunner::class)
@BeforeAll 函数没有被触发,但是当我删除它时,它会为 lateinit 字段提供错误。
@RunWith(SpringRunner::class)
@SpringBootTest
class MagnificentClassTest {
@MockBean
lateinit var amazonSQS: AmazonSQSAsync
@MockBean
lateinit var simpleMessageListenerContainer: SimpleMessageListenerContainer
@Autowired
lateinit var magnificentClass: MagnificentClass
@BeforeAll
fun setUp() {
insertApp()
//insert some data to db
}
fun insertApp() {
val entity = AppJdbc(
APP_ID = 1
)
magnificentClass.insertApp(entity)
}
【问题讨论】:
-
RunWith 是一种 JUnit 4 机制。 BeforeAll 是 JUnit5/Jupiter。他们不属于一起。此外,beforeAll 方法必须是静态的,除非您将实例生命周期更改为 PER_CLASS。
标签: spring-boot kotlin junit5