Junit单元测试

Junit单元测试

1.概念

单元测试是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性。

2.Junit单元测试框架

Junit是使用Java语言实现的单元测试框架。

Junit优点

  • 可以灵活的选择执行哪些测试方法,可以一键执行全部测试方法。
  • Junit可以生成全部方法的测试报告。
  • 单元测试中某个方法测试失败了,不会影响其他测试方法的测试。

3.快速入门

  1. 将Junit的jar包导入到项目中。【IDEA已经自动集成了Junit框架,使用时只需要引入jar包即可】
  2. 编写测试方法:该测试方法必须是公共的无参数无返回值的非静态方法。
  3. 在测试方法上添加@Test注解:标注该方法是一个测试方法。
  4. 在测试方法中完成被测试方法的预期正确性方法。
  5. 选中测试方法,选择Junit运行,绿色代表测试良好,红色代表测试失败。
package com.huier.service;

public interface UserService {
    String login(String username,String password);
}


public class UserServiceImpl implements UserService {

    public String login(String username, String password) {
        if("Huier".equals(username) && "123456".equals(password)){
            return "登录成功!";
        }else{
            return "账号或密码错误!";
        }
    }
}import com.huier.service.UserService;
import com.huier.service.impl.UserServiceImpl;
import org.junit.Assert;
import org.junit.Test;//这里使用的是Junit 4的版本

//测试类
public class TestUserService {

    //1.无参数
    //2.无返回值
    //3.@Test注解
    @Test
    public void TestLogin(){
        UserService userService = new UserServiceImpl();
        String username = "Huier";
        String password = "123456";
        String login = userService.login(username, password);

        //如果有返回值可以进行预期结果的正确性测试,断言
        Assert.assertEquals("您的登录业务可能出现问题","登录成功!",login);
    }
}

注意点:1.无参数;2.无返回值;3.@Test

操作

​ 测试单个方法,在方法上点击运行

​ 测试所有方法,在类上点击运行

​ 红色:失败;绿色:通过

4.常用注解[了解]

Junit4

  • @Test:测试方法
  • @Before:用来修饰实例方法,该方法会在每一个测试方法执行之前执行一次
  • @After:用来修饰实例方法,该方法会在每一个测试方法执行之后执行一次
  • @BeforeClass:用来静态修饰方法,该方法会在所有测试方法之前只执行一次
  • @AfterClass:用来静态修饰方法,该方法会在所有测试方法之后只执行一次

Junit5

  • @Test:测试方法
  • @BeforeEach:用来修饰实例方法,该方法会在每一个测试方法执行之前执行一次
  • @AfterEach:用来修饰实例方法,该方法会在每一个测试方法执行之后执行一次
  • @BeforeAll:用来静态修饰方法,该方法会在所有测试方法之前只执行一次
  • @AfterAll:用来静态修饰方法,该方法会在所有测试方法之后只执行一次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值