Android-浓缩咖啡:为每次测试重新创建活动



我是创建了一个小型应用程序,可以使用浓缩咖啡检查测试。在测试类中运行多个测试时,我观察到该活动正在暂停并为每个测试重新创建。我认为这不是正常行为。

这是我用于测试类的代码:

@RunWith(AndroidJUnit4.class)
@LargeTest
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class MyTestClass {
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule(MainActivity.class);
@Before
public void beforeTest(){
    // Called before each test
}
@After
public void afterTest(){
    // Called after each test
}
@Test
public void a_clickButton() {
    Log.d("robotarch", ">>>>>>> a_clickButton");
}
@Test
public void b_enterAndClick(){
    Log.d("robotarch", ">>>>>>> b_enterAndClick");
}

}

除此之外,我还将日志添加到我所有的活动生命周期方法中。

这是我得到的输出顺序:

oncreate
onstart
onresume
onPostresume
>>>>>>> b_enterAndClick
onpause
onresume
onPostresume
onpause
oncreate
onstart
onresume
onPostresume
>>>>>>> a_clickButton
onStop
ondestroy
onpause
onStop
ondestroy

我在机器人中检查了相同的应用程序。它没有显示出任何这样的行为。有人可以向我解释这种行为背后的原因吗?我做错了吗?

是。ActivityTestrule的Javadoc对此非常清楚:

此规则提供了单个活动的功能测试。在用测试注释和之前注释的方法之前,将在测试中进行测试的活动。测试完成后将终止,并在完成后注释的方法。在测试期间,您将可以直接操纵您的活动。

最新更新