搭建junit4.x单元测试环境
1.选择Project Structure
2.选择Modules,选择要加入测试环境的模块,选择Dependencies,可以看到当前模块都有哪些依赖。
3.点击 + 后选择第一个
4.找到你安装IDEA的文件夹,进入到IntelliJ IDEA 2018.3.4\lib目录下,找到junit-4.12.jar,点击OK。
注:Junit和hamcrest-core必须一起导入,否则会报错
5.导入hamcrest-core.jar,步骤同导入Junit一样
点击OK后,测试环境就搭建完成了。
测试步骤
1.把junit4.x的测试jar包,添加到该项目中来,也就是上述的搭建环境
2.定义一个测试类(约定俗成的规则,非强制要求),名字一般为:XXXTest
3.在测试类中编写测试方法,方法要是public修饰的,无返回值的,必须在方法前贴上@Test标签
4.选中一个测试方法名,右键直接选择运行即可进行测试
public class MyMathTest {
@Test
public void sumTest(){
MyMath m = new MyMath();
int sum=m.sum(2,4);
//System.out.println(sum);
//断言
Assert.assertEquals(6,sum);//参数第一个是预期值,第二个是真实值
}
@Test
public void subTest(){
MyMath m = new MyMath();
int sub=m.sub(7,4);
System.out.println(sub);
}
}
以下两种方式都可以运行测试方法
出现绿色的对勾说明测试成功
常见注解
1.@Test:要执行的测试方法
2.@Before 每次执行测试方法之前都会执行
3.@After 每次执行测试方法之后都会执行
4.@BeforeClass 在所有的Before方法之前执行,只在最初执行一次. 只能修饰静态方法
5.@AfterClass 在所有的After方法之后执行,只在最后执行一次. 只能修饰静态方法
规范的单元测试
选中你要测试的类,点击Alt+回车,选择Create Test,会自动创建一个标准的测试类
断言
单元测试应该是全自动执行的,并非交互式的,测试框架通常是定期执行的,执行过程必须完全自动化才有意义。输出结果需要人工检查的测试不是一个好的单元测试,单元测试中不准使用System.out来进行人肉验证,必须使用assert来验证。
什么是断言(猜测):
1.期望值(猜测值):断言时希望是多少
2.真实值(程序运行的结果):程序内部运算之后实际是多少
断言(猜测)结果:
1.断言成功(猜对了)
2.断言失败(猜错了)
断言方法:
Assert.assertEquals(message, expected, actual):用于比较的值
三个参数:
message: 断言失败的提示信息,断言成功不会显示.
expected: 期望值
actual: 真实值
若真实值和期望值想等,则断言成功.—>绿条