[英]How to Espresso Test in Android If an Acitivy was Started
有人可以教我如何测试以下示例代码吗?
我该如何为此编写浓缩咖啡测试? 既然不需要查看操作?
public class SampleActivity extends AppCompatActivity {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
Intent intent = new Intent(this, NextActivity.class);
startActivity(intent);
}
}
我想测试活动是否真正开始。 请帮我。 提前致谢。
这已被多次回答:
espresso-intents
制品的用法(首选选项): 请记住,这里使用IntentsTestRule
可能会出现问题,它在您启动活动后曾经调用Intents.init()
,因为您已经在新活动中,所以为时已晚。 不知道这种行为是否仍然存在,但是您可以通过在测试类的@Before
方法中手动调用init()
来解决此问题,请不要忘记在拆解中执行Intents.release()
Intents.intending的示例(应该在启动之前):
@get:Rule
var mActivityTestRule = ActivityTestRule(LoginActivity::class.java, false, false)
@Before
fun before() {
Intents.init()
}
@After
fun after() {
Intents.release()
}
@Test
fun whenStartWithUser_shouldOpenHomeScreen() {
val matcherIntent = hasComponent(HomeActivity::class.java.name)
Intents.intending(matcherIntent).respondWith(Instrumentation.ActivityResult(Activity.RESULT_OK, null))
mActivityTestRule.launchActivity(Intent())
Intents.intended(matcherIntent)
}
阅读有关Log
和Logcat
的文档。 您可以跟踪在那里发生的所有动作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.