我需要收集我當前的應用程序的一些數據,以便通過檢查活動啓動期間的平均經過時間來分析性能速度。我想運行一個測試電池,活動開始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布爾值並從測試中手動啓動 –