Android Studio中关于Java的单元测试
来源:互联网 发布:一个淘宝号最多刷几单 编辑:程序博客网 时间:2024/06/07 15:06
Android Studio中
我们新建的项目中结构如下:
都知道我们常在java文件夹下的第一个(无括号后缀)包下开发,但是后两个是干嘛的额?
其实后两个是预留的单元测试的包,studio为我们自动创建了。
androidTest的标志是附带AndroidSDK的测试用例,也就是android相关的测试。
test则是纯java的测试,并且测试用例,模板也可以自动生成的。
test包下的jvm测试用例
首先需要在开发的module下依赖单元测试的jar(module的build.gradle下,注意非项目的build.gradle)
dependencies { testCompile 'junit:junit:4.12'}
从图中可以看到我们在日常开发的包下新建了JunitDemo类,其中只有个add的方法。
如果不用Junit测试我们就需要打个log把整个项目运行一下在log中看结果,费时也费力。使用Junit的断言测试可以很方便:
1、右键类JunitDemo或者在类中代码区随便右键弹出如图示:
2、点击Test–》create new Test:
解释下Junit依赖后同步下,这里会是有Junit的选项的,以为我们以来的Junit的测试就选择Junit,类名test后缀就不要动了,Generate里的是Junit的部分注解,@Before,@After根据需要选择是否自动生成。
Member就是你要测试的方法体,需要哪个勾选即可。附:Junit常用注解:
- @BeforeClass 类初始化全局资源使用
- @Before 每个用例前都会调用的方法
- @AfterClass 类最后的善后工作,比如数据库关闭操作
- @After 与Before对应 每个用例后调用
- @Test 标明测试方法
- @Ignore 暂时忽略的方法(最好不用,忘记了就真的忘记了)
- @RunWith 测试环境,默认@RunWith(Junit4.class)运行测试
BeforeClass和Before的区别:@BeforeClass 方法体为public static void 声明,全局只运行一次,用在关联类的初始化资源方面,比如数据库的DBhelper或者OkHttp的实例化等,@Before 声明为public void,不一定执行一次,你如我从数据库中取出了一条数据a,接下来我要对这条数据原版进行修改1和修改2,分别得到自己的结果,那么就可以在@Before里取出数据,在相应的Test里对此数据做相应的操作 ,得到相应的结果。同理@AfterClass和@After类似。
3、确定后就出现这个界面,与androidTest和test文件夹一一对应:
因为我们测试的是jvm的就选择第二个即可,确定后发现test文件夹下多了个测试的类,而且方法与我们JunitDemo的方法名一样,只不过方法返回void:
4、测试断言我们这样写:
我们可以发现,测试体系走得还是实例化目标测试类–》调用断言判定方法。这里我们故意写了个错误的值来对比,运行我们写的单元测试代码,结果如下:
可以看到预期3结果5 测试未通过。并爆出了位置信息等。点击Click to see还可以对比。
以上就是Android Studio中关于Junit的单元测试。
- Android Studio中关于Java的单元测试
- Android Studio中单元测试框架的建立
- Android studio中单元测试的坑
- android studio 的单元测试
- Android Studio中进行单元测试
- Android Studio下的单元测试
- Android Studio下的单元测试
- 关于android、java单元测试 案例
- eclipse中和android studio中进行单元测试
- 在Android Studio中进行单元测试
- Android Studio中使用junit做单元测试
- Android studio中单元测试和UI测试
- Android studio中单元测试和UI测试
- Android Studio如何修改单元测试的目录
- 简单谈谈android studio 的单元测试
- 简单谈谈对android studio 的单元测试
- 关于Android Studio中butterknife的使用
- Android Studio中关于Gradle的使用
- CentOS7下配置tomcat开机自启
- Ubuntu 的 sudo_root
- ID3算法
- JSP中禁用EL表达式
- hiho一下 第166周 逃离迷宫
- Android Studio中关于Java的单元测试
- Nginx Http服务器
- 得到交替排列形式字符串
- 操作系统知识
- c++之初体验——函数重载,引用,命名空间
- python7
- 环境变量的作用
- 基于前端Js模块化规范的粗浅应用
- MUI-不常用组件复习