一、什么是单元测试JUnit?
答:针对代码最小的功能单元进行编写的测试代码,方法就是最小的单元。
二、单元测试有什么作用?
答:检测方法的正确性
三、JUnit有什么优点?
答:
(1)测试中途一个方法出现问题,不会影响下一个方法的测试
(2)可以灵活选择要测试的方法,一键测试。还能自动生成测试报告
(3)测试良好是绿色,测试失败是红色
四、JUnit在哪里?
答:几乎所有的idea里面都集成了JUnit
五、JUnit的使用步骤?
1.导入JUnit包步骤
将JUnit的jar包导入到项目中
idea通常整理好了JUnit框架,一般不需要去导入
如果没有整合好,就要自己手动去导入
步骤:@Test爆红就是没有导入,需要联网去导入JUnit包。快捷键:alt+回车键,选择这个JUnit4的版本,有弹窗出来点击OK就好
例子:
2.写一个要被测试的类
例子:
package bao; public class Dog { //这是一个运行正确的代码 public String loginName(String loginName,String passWord){ if ("admin".equals(loginName)&&"123456".equals(passWord)) { return "登录成功"; }else { return "用户名或者密码有问题"; } } //这是一个运行会出错的代码 public void selectName(){ System.out.println(10/0); System.out.println("查询用户名称成功"); } }
3.编写测试方法(公共的无参数无返回值的非静态方法)
格式步骤:
@Test
public void 方法名 //1.创建被测试方法的 方法名
类名 自定义类名 = new 类名 //2,创建对象被测试方法的 类名
自定义类名.方法名
例子:
package bao; import org.junit.Assert; import org.junit.Test; public class Testone { //测试方法例子一 @Test //1.创建被测试方法的 方法名 public void TestName(){ //2,创建被测试方法的 类名 Dog dog = new Dog(); //2.判断方法是否返回这个结果,是那就是绿色通过,不是就是报错出现红色 String rs =dog.loginName("admin","123456");//参数:想要从方法中获得的参数 //可要可不要(进行预期结果的正确性测试。断言只是为了寻找哪里出现了问题)---方法有返回值的时候可以用 Assert.assertEquals("登录功能可能出现问题","登录成功",rs); //参数一:给该方法备注xx可能出现问题 参数二:被方法的返回值 参数三:实际值(方法实际的值) } //测试方法例子二 @Test //1.创建被测试方法的 方法名 public void selectName(){ //2,创建被测试方法的 类名 Dog dog = new Dog(); //类名.方法名 dog.selectName(); } }
4.运行测试类方式
单个运行:运行哪个方法,光标就在哪个测试类的方法里面点击运行就好
全部运行:点击该测试类,点击运行就会运行全部测试类
运行结果例子:(绿色代表测试通过,红色代表测试不通过)
旁白:这个很简单的,测试类就是直接看第3个步骤来做就好了,前提是有导入那个JUnit包,导包就看第一步的就好了。