单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
为什么要做单元测试?
- 更早发现问题
- 更容易集成
- 更安全的代码修改
单元测试的原则与模式
- 把测试当做文档(针对Api)
- 所有单元测试都是自检查的
- 不要单独为测试创建特别的逻辑
- 尽可能保证单元测试的简单性
APP目录结构
src/test: 运行在本地电脑Java虚拟机上的单元测试,适合做一些java接口的测试;
src/androidTest: 运行在手机或者模拟器上,适合做一些ui测试或者逻辑测试。
配置
新建项目 build.gradle 都自带单元测试库
dependencies {
...
testImplementation 'junit:junit:4.12'
}
例子
这是运行该测试类下的所有测试方法
运行该测试类下的单个测试方法:test1 方法
测试类新建新的测试方法:
空白区域右键,点击Generate
再点击Test Method
方法出来后,自己定义名字。
当然自己手写一个方法,,然后添加 @Test 关键字,,效果与上面一样。
运行效果如下:
此处定义了:a()、b()、c()、d()、e()、f()、m()、test1()、addition_isCorrect()
等9个测试方法,依次被调用执行。