我需要收集我当前的应用程序的一些数据,以便通过检查活动启动期间的平均经过时间来分析性能速度。我想运行一个测试电池,活动开始10,100,1000和5000次。对于每个测试,它应该保持打开至少10秒(收集异步发生的所有数据所需的时间)。我想正是这种行为,而无需编写这些方法很多:如何反复运行单元测试+浓咖啡?
@RunWith(AndroidJUnit4.class)
@LargeTest
public class TestStreamLoadingPerformance {
private static final long TIME_OUT = 2;
private static final long WAITING_TIME = 10000;
@Rule
public ActivityTestRule mActivityRule = new ActivityTestRule(HomepageActivity.class);
private ElapsedTimeIdlingResource mIdleRes = new ElapsedTimeIdlingResource(WAITING_TIME);
@Before
public void setUp() {
IdlingPolicies.setMasterPolicyTimeout(TIME_OUT, TimeUnit.HOURS);
IdlingPolicies.setIdlingResourceTimeout(TIME_OUT, TimeUnit.HOURS);
Espresso.registerIdlingResources(mIdleRes);
}
@After
public void tearDown() {
Espresso.unregisterIdlingResources(mIdleRes);
}
@Test
public void test01() {
}
@Test
public void test02() {
}
@Test
public void test03() {
}
@Test
public void test04() {
}
@Test
public void test05() {
}
@Test
public void test06() {
}
@Test
public void test07() {
}
@Test
public void test08() {
}
@Test
public void test09() {
}
}
http://stackoverflow.com/q/1492856/4879701包含少数关于如何多次运行相同的junit测试的解决方案。 –
我确实尝试了其中的大部分,但都失败了:当它试图重复测试时,它无法启动意图,并因超时而失败。这是Espresso生命周期的某种方式。 –
啊,这可能是因为测试规则。只需向launchActivity()提供false布尔值并从测试中手动启动 –