是否有可能在任何声明的全局变量之前构建@Rule?我试过:
@Rule
@Before // This Causes an Error
val rule = SomeAndroidComposeTestRule()
private val globalVariable = GlobalVariableClass()我需要先运行该规则,因为我得到了一个错误,使用该globalVariable进行测试的可组合性需要测试规则。当我调试时会出现各种各样的错误。是否有允许先运行“规则”的“”?
发布于 2022-11-10 19:46:16
如果代码片段中的这五行是来自测试类的五行连续行,那么globalVariable不是一个全局变量。它是测试类的一个属性。
无论如何,没有办法在属性初始化器之前强制某些@Rule执行。因此,您需要延迟初始化,例如进入@Before-annotated函数:
@Rule
val rule = SomeAndroidComposeTestRule()
private lateinit var globalVariable: GlobalVariableClass
@Before
fun setUp() {
globalVariable = GlobalVariableClass()
}https://stackoverflow.com/questions/74394099
复制相似问题