测试用例中的Lateinit问题

时间:2019-11-25 11:37:40

标签: unit-testing kotlin junit

我有一个像下面的科特林

template<> auto foo<MYSQL_RES>::bar();

测试案例总是失败

kotlin.UninitializedPropertyAccessException:lateinit属性目标尚未初始化

但是我正在使用设置方法进行初始化,请帮助我解决此问题?

1 个答案:

答案 0 :(得分:1)

您的设置注释@BeforeAll仅适用于静态函数:

  

@BeforeAll注释的方法必须是静态方法,否则将引发运行时错误。

Source

因此,您的方法不在JUnit中执行。可以将方法和字段放在伴侣对象中,也可以不同地对其进行初始化,例如使用@Before