// 如果直接将代码定义在有参构造器中,
    // 一旦创建有参对象可以直接调用以下代码

    Assert 断言的意思 [əˈsɜːrt]
    actual [ˈæktʃuəl] 真实的意思
    expected是期待的意思 [ɪkˈspektɪd]
    image.png
    image.png
    选中第一个将Junit框架自动导入进来
    image.png
    导入成功:一般框架的标准是定义在lib目录下的
    image.png
    单元测试方法,不是main方法也可以跑 testLoginName是自定义的方法,里面要用Junit单元测试框架的Assert(断言)类
    image.png
    在类空白的位置(在方法代码块外面,右键,就能跑整个类,跑整个类,里面的测试方法都能一起执行
    image.png
    在模块这里右键,可以跑整个模块:
    image.png

    1. package com.itheima.d1_junit;
    2. import org.junit.Assert;
    3. import org.junit.Test;
    4. /**
    5. * 测试类
    6. */
    7. public class TestUserService {
    8. /**
    9. * 测试方法
    10. * 注意点;
    11. * 1. 必须是公开的,无参数 无返回值的方法
    12. * 2. 测试方法必须使用@Test注解标记
    13. */
    14. @Test
    15. public void testLoginName(){ // 这个测试方法,没有返回值,没有参数
    16. UserService userService = new UserService();
    17. String rs = userService.loginName("admin", "123456");
    18. // 进行预期结果的正确性测试: 断言 (断言他失败或者成功) Assert类 Assert 断言的意思 [əˈsɜːrt]
    19. // expected是期待的意思: 这里的登录成功是期待的结果,rs是实际的结果
    20. // 这个message相当于注释信息一样,提示信息
    21. Assert.assertEquals("您的功能业务可能出现问题","登录成功",rs);
    22. }
    23. @Test // 标明这是一个测试方法
    24. public void testSelectName(){ // // 这个测试方法,没有返回值,没有参数
    25. UserService userService = new UserService();
    26. userService.selectNames();
    27. // 这里就不要断言了,能看出来bug
    28. }
    29. }
    package com.itheima.d1_junit;
    
    public class UserService {
        public String loginName(String loginName , String passWord){
            if("admin2".equals(loginName) && "123456".equals(passWord)){
                return "登录成功";
            }else {
                return "用户名或者密码有问题";
            }
        }
    
        public void selectNames(){
            System.out.println(10/0);
            System.out.println("查询全部用户名称成功~~");
        }
    }