我尝试设置类似于 GithubBrowserSample 的UI测试,看起来示例项目只有ViewModel
的模拟Fragment
,但不是{的示例{1}}。
这是我的代码,我试图通过模拟Activity
来测试Activity
。但ViewModel
未在活动中ViewModel
之前设置。
onCreate()
有人可以帮我解决这个问题吗?
答案 0 :(得分:3)
JUnit @Rule
在@Before
方法之前进行设置,因此您的活动在调用setUp()
方法之前启动并开始其生命周期。为避免这种情况,请将false
作为第三个参数传递给规则构造函数。这告诉它不要自动启动活动,因此您可以提前进行设置。
然后,您需要在运行测试之前手动启动活动。您可以创建val intent = Intent(InstrumentationRegistry.targetContext, MainActivity::class.java)
之类的意图,然后将其传递给activityRule.launchActivity(intent)
。