我想在我的 springBootTest 中有一个 @BeforeClass 方法,它应该是静态的并在“伴随对象”中声明。
@RunWith(SpringRunner::class)
@SpringBootTest
@ActiveProfiles("test")
open class MyTest {
companion object {
@Autowired
lateinit var repo: MyRepository
@BeforeClass
@JvmStatic
fun X() {
user = User()
repo.save(user)
}
}
另一方面,我应该在这个方法中使用一些 Autowired 组件,但正如前面提到的 here在静态上下文中是不可能的,我收到了这个错误:
lateinit property repo has not been initialized
关于我应该如何处理这种情况的任何建议?
最佳答案
如果您不想升级到 JUnit5,可以使用 @PostConstruct
它会产生同样的效果。示例 here
关于spring - Kotlin - 如何在 springBootTest 中管理 @BeforeClass 静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51612019/