AndroidTest中的Junit测试

一、Junit测试

  • 测试的条件和方法是:

    1. 在写测试方法的时候, 必须要public, 并且返回值必须是void, 并且方法中不能接受任何的参数
    2. 通常, 使用Assert类来对测试的结果进行断言, 从而来判定是否通过测试。
    3. 当要执行Test类中所有的Test方法时,可以右击类,把类中所有的@方法都执行。
    4. 测试类要单独建一个包,命名一般是:Test+测试的类
  • 测试类中常用的语句有:

    • @Test:
      • @Test(timeout=10):是否是1秒内运行完的
      • @Test(expected = java.lang.ArithmeticException.class):如果抛出了指定的异常,那是正常情况。
    • @BeforeClass、@AfterClass:类加载前和类加载后运行的方法,两个的方法都必须是static的
    • @Before、@After,用于所有的@Test方法执行前、执行后一定会执行的方法,通常:
      • @Before用于统一资源的声明
      • @After用于资源的关闭,相当于是try/catch的finaly
    • AAssert.assertEquals(expected,actual):实际开发过程中, 在junit测试框架中,专门提供一个叫做Assert断言的类,断言正确才会正常(声明异常除外);
  • 定义要测试的类及方法
public class Student {
    public int add(int i, int j){
        return i+j;
    }
    public int divide(int i, int j ){
        return i/j;
    }
}
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 测试类用来测试
public class TestStudent {

    @BeforeClass//用于类加载前的测试,一定要是静态的
    public static void beforeClass() {
        System.out.println("beforeClass ");
    }

    Student s;

    // 加了 before 之后, 那么 junit 测试 框架 就会在执行 每个 具体的 @Test 这样的方法之前 执行这个
    // beforeMethod方法
    @Before
    public void beforeMethod() {

        System.out.println("beforeMethod");
        // new Student
        s = new Student();
    }

    @Test(timeout = 1)//timeout后面数字单位是毫秒,只有在相应时间内执行完才会通过,用于测试效率
    public void testAdd() {

        // 测试 student 类中的 add 方法
        int result = s.add(1, 2);

        System.out.println(" testAdd  =====");
        // 注意: 实际开发过程中, 我们 会 对 测试 的结果 进行 断言 ,
        // 在junit 测试 框架中 , 专门 提供 一个叫做 Assert 断言 的类,
        Assert.assertEquals(2, result);
    }

    @Test(expected = java.lang.ArithmeticException.class)//用于测试抛出异常的情况
    public void testDivide() {

        int result = s.divide(3, 0);
        System.out.println("testDivide======");
    }

    // 在每个 @Test执行 完成 之后 执行
    @After
    public void afterMethod() {

        // 释放资源
        s = null;
        System.out.println("afterMethod");
    }

    @AfterClass//类中方法全部测试完后进行的方法,也必须是static
    public static void afterClass() {
        System.out.println("afterClass");
    }
}
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52

注意:

AndroidTest是在debug模式下才能进行的测试,如果执行release版本操作无法进行测试(release版本可以不混淆,只是有签名而已)
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值