【发布时间】:2021-12-11 16:54:26
【问题描述】:
我正在尝试在 @BeforeSuite 方法中为我的 testNG 测试延迟初始化变量(AppiumDriver 服务),如下所示:
abstract class BaseTest {
lateinit var driver: AppiumDriver<MobileElement>
@Parameters("platform")
@BeforeSuite(alwaysRun = true)
fun init(platform: String) {
Configuration.isIOS = platform.lowercase() == "ios"
driver = <driver initialization>
println(driver)
}
}
我的测试如下所示:
class MedicationsTests : BaseTest() {
fun test_01() {
// Test using `driver` variable
}
}
@BeforeSuite 方法 init(String) 在测试开始之前运行(我看到了打印输出),但是当方法 test_01() 尝试使用 driver 变量时,我遇到了错误:
kotlin.UninitializedPropertyAccessException: lateinit property driver has not been initialized
它在 @BeforeClass 中工作得非常好,但我只想在整个套件中运行一次此初始化,而不是每个班级一次...
有什么办法解决吗?
【问题讨论】: