AndroidStudio androidTest安卓测试 test单元测试(Junit)

 androidTest是整合测试,可以运行在设备或虚拟设备上,需要编译打包为APK在设备上运行,可以实时查看细节

test 是单元测试,运行在本地开发机上,可以脱离Android运行环境,速度快

Android Studio 测试分 androidTest 安卓测试(下图绿箭头)和 test (java测试/junit测试)(下图红箭头),我们下面的实例是test(单元测试)

JUNIT 4.12 单元测试版本

被测试类(被测试的方法 timeStampToString(int timeStamp))

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
public class DateUtils {

   
    /**
     * 时间戳转换成日期(被测试的方法)
     * @param timeStamp 要求是10位 单位为秒的时间戳
     * @return
     */
    public static String timeStampToString(int timeStamp){
        long temp = (long) timeStamp*1000;//将秒转换成毫秒
        Timestamp ts = new Timestamp(temp);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateString=null;
        dateString = simpleDateFormat.format(ts);
        return dateString;
    }
    

}

单元测试类

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import static org.hamcrest.core.IsNull.nullValue;
import static org.junit.Assert.*;


public class DateUtilsTest {

    @Before//注解
    public void setUp() throws Exception {

        System.out.println("测试开始执行的代码在这里执行,可做初始化操作");
    }

    @After
    public void tearDown() throws Exception {
        System.out.println("测试结束后的执行代码在这里执行,可做释放资源操作");
    }

    /**
     * 单元测试  测试 DateUtils.timeStampToString这个时间戳转换成日期时间字符串的方法是否通过
     */
    @Test
    public void timeStampToString() {
        //与预期盼望的expected结果相等测试方法,即测试DateUtils.timeStampToString(1544770985) 方法运算后得到的结果是不是为字符串的2018-12-14 15:03:05

        //断言传入的预期值与实际值是相等的
        assertEquals("2018-12-14 15:03:05",DateUtils.timeStampToString(1544770985));//2018-12-14 15:03:05

        //与非预期盼望的结果不一致测试方法,结果果然是不一致,所以测试可以通过
        //断言传入的预期值与实际值是不相等的
        assertNotEquals("2018-12-14 15:03:06",DateUtils.timeStampToString(1544770985));
    }
}

单元测试类的自动生成方法,在需要测试的类上点鼠标右键--Go To -- Test

新建一个单元测试类(这个例子的类和已经创建的DateUtilsTest 不是同一个,过程相同)

如下图选择被测试的方法(这个例子的类和已经创建的DateUtilsTest 不是同一个,过程相同)

工具是Android Studio Junit4.12

猜你喜欢

转载自blog.csdn.net/m0_37271466/article/details/85006340