我们在做测试的时候,特别是自动话测试,保存异常现场尤为重要,那如何来保存异常现场呢?我们就不得不说下
**@BeforeClass @Before @After @AfterClass**
这几个JUInt4的测试注解,其中@BeforeClass @AfterClass 是Juint4新添加进去的
他们的运行流程是这样的:
@BeforeClass >>@Before>>@Test>>@After>>….>>@Before>>@Tess>>@After>>@Before>>@After>>@AfterClass
我们可以看一下下面的栗子来说明一下:
@RunWith(AndroidJUnit4.class)
public class TestDemo {
/**
* 注意,需要加关键字static
*/
@BeforeClass
public static void setClassUp(){
android.util.Log.d("TestDemo","*********************setClassUp");
}
@Before
public void setUp(){
android.util.Log.d("TestDemo","*************setUp***********");
}
@Test
public void test1() throws UiObjectNotFoundException {
android.util.Log.d("TestDemo","test1");
}
@Test
public void test2() throws UiObjectNotFoundException {
android.util.Log.d("TestDemo","test2");
}
@Test
public void test3() throws UiObjectNotFoundException {
android.util.Log.d("TestDemo","test3");
} @Test
@After
public void caseEnd(){
android.util.Log.d("TestDemo","-------------caseEnd------------*");
}
/**
* 注意,需要加关键字static
*/
@AfterClass
public static void caseClassEnd(){
android.util.Log.d("TestDemo","caseClassEnd***************************");
}
}
在log查看界面我们看到的log是:
05-18 16:59:34.205 6512-6528/? D/TestDemo: *******************setClassUp
05-18 16:59:34.210 6512-6528/? D/TestDemo: ********setUp******
05-18 16:59:34.210 6512-6528/? D/TestDemo: test1
05-18 16:59:34.210 6512-6528/? D/TestDemo: ————-caseEnd————
05-18 16:59:34.215 6512-6528/? D/TestDemo: ********setUp******
05-18 16:59:34.215 6512-6528/? D/TestDemo: test2
05-18 16:59:34.215 6512-6528/? D/TestDemo: ————-caseEnd————
05-18 16:59:34.220 6512-6528/? D/TestDemo: ********setUp******
05-18 16:59:34.220 6512-6528/? D/TestDemo: test3
05-18 16:59:34.220 6512-6528/? D/TestDemo: ————-caseEnd————
05-18 16:59:34.225 6512-6528/? D/TestDemo: ————-caseEnd————
05-18 16:59:34.225 6512-6528/? D/TestDemo: caseClassEnd*************************
可以从打印log那里看出每一次@Test运行完一次,必运行一次@Before 和@After ,那么我们就可以在@After中做保存异常现场的操作——》截图或者描述