我正在實現一個測試自動化工具,並且我有一個擴展了InstrumentationTestCase
的類。例如:爲每個測試套件運行setUp()和tearDown()方法InstrumentationTestCase Android
public class BaseTests extends InstrumentationTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
Log.d(TAG, "setUp()");
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
Log.d(TAG, "tearDown()");
}
public void test_one() {
Log.d(TAG, "test_one()");
}
public void test_two() {
Log.d(TAG, "test_two()");
}
}
當運行的BaseTests
測試中,設置()方法被調用的2倍。在執行test_one()
之前一次以及在test_two()
之後執行另一次。 tearDown()會發生同樣的情況,在執行這兩種方法之後調用它。
我想在這裏做的是隻調用setUp()和tearDown()方法一次執行所有BaseTests
測試。因此,方法調用的順序將是這樣的:
1)設置()
2)test_one()
3)test_two()
4)TEARDOWN()
有沒有辦法做這樣的事情?
我寧願不改變這種行爲,但你可以有一個布爾值,指示何時第一對setUp/tearDown被調用。這些回調被稱爲讓您在每次測試開始前設置環境並在測試結束後清理它。 – Blackbelt