如果在我们平时开发App中,每写一个功能,就要重新运行一下,再从头点进去,再操作,反反复复就比较耗时间。比如我想测试该请求解析数据是否正确,写的时间转化,数据过滤是否正确的场景。而单元测试直接在代码里,只需要运行几个方法,瞬间完成功能的测试。
每次在创建工程后,会在src/test文件夹下创建一个用于测试的类——UnitTest,默认创建的单元测试类。并且在gradle文件的dependencies依赖中自动已经添加了testCompile 'junit:junit:4.12'Junit单元测试库。
直接运行该类,在2ms内通过测试,通过测试报绿色,报红色表示不通过。
Junit常用注解:
注解名 含义
@Test 表示此方法为测试方法 @Before 在每个测试方法前执行,可做初始化操作 @After 在每个测试方法后执行,可做释放资源操作 @Ignore 忽略的测试方法 @BeforeClass 在类中所有方法前运行,只执行一次。此注解修饰的方法必须是static void @AfterClass 在类中最后运行,只执行一次。此注解修饰的方法必须是static void @RunWith 指定该测试类使用某个运行器 @Parameters 指定测试类的测试数据集合 @Rule 重新制定测试类中方法的行为 @FixMethodOrder 指定测试类中方法的执行顺序 |
测试各个方法执行顺序:
public class ExampleUnitTest { @BeforeClass public static void beforeClass(){ System.out.println("测试类开始前"); } @Before public void before(){ System.out.println("测试方法开始前"); } @Ignore @Test public void testIgnore() { System.out.println("忽略的方法"); } @Test public void test() throws Exception { System.out.println("测试方法"); } @After public void after(){ System.out.println("测试方法结束后"); } @AfterClass public static void afterClass(){ System.out.println("测试类结束后"); } } |
测试结果:执行顺序:@BeforeClass –> @Before –> @Test –> @After –> @AfterClass
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。