首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Kotlin JUnit5测试中获取@Rule在全局变量之前构建

在Kotlin JUnit5测试中获取@Rule在全局变量之前构建
EN

Stack Overflow用户
提问于 2022-11-10 19:00:59
回答 1查看 12关注 0票数 0

是否有可能在任何声明的全局变量之前构建@Rule?我试过:

代码语言:javascript
运行
复制
@Rule 
@Before // This Causes an Error
val rule = SomeAndroidComposeTestRule()

private val globalVariable = GlobalVariableClass()

我需要先运行该规则,因为我得到了一个错误,使用该globalVariable进行测试的可组合性需要测试规则。当我调试时会出现各种各样的错误。是否有允许先运行“规则”的“”?

EN

回答 1

Stack Overflow用户

发布于 2022-11-10 19:46:16

如果代码片段中的这五行是来自测试类的五行连续行,那么globalVariable不是一个全局变量。它是测试类的一个属性。

无论如何,没有办法在属性初始化器之前强制某些@Rule执行。因此,您需要延迟初始化,例如进入@Before-annotated函数:

代码语言:javascript
运行
复制
@Rule 
val rule = SomeAndroidComposeTestRule()

private lateinit var globalVariable: GlobalVariableClass

@Before
fun setUp() {
  globalVariable = GlobalVariableClass()
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74394099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档