一.Junit介绍
Junit是一个Java语言的单元测试框架,简单理解为可以用于取代java的(部分)main方法。Junit属于第三方工具,需要导入jar包后使用。
二.Junit的基本使用(重点)
a.在当前模块下创建lib文件夹
b.把junit的jar包,拷贝到lib的文件夹中
c.把jar包添加到图书馆中
package com.itheima.demo01Junit;
import org.junit.Test;
/*
junit的作用:可以单独的运行某一个方法(对方法进行测试)
使用步骤
1.导入junit的jar包
2.在要运行的方法上边,添加一个@Test注解(需要导包)
3.点击方法左边的绿色三角或者鼠标右键点击方法,选择Run 方法,运行方法
点击类左边的绿色的三角或者鼠标右键点击类名,选择Run 类名,可以运行类中所有被@Test修饰的方法
鼠标右键点击模块,选择'Run All Tests',可以运行模块中所有类里被@Test修饰的方法
*/
public class Demo01Junit {
@Test
public void show01(){
System.out.println("show01方法");
}
@Test
public void show02(){
System.out.println("show02方法");
}
@Test
public void show03(){
System.out.println("show03方法");
}
}
三.Junit的注意事项
package com.itheima.demo01Junit;
import org.junit.Test;
/*
Junit的注意事项
1.没有添加@Test注解的方法,不能使用Junit运行的
2.Junit只能运行public修饰的,没有参数,没有返回值的非静态方法
*/
public class Demo02Junit {
//1.没有添加@Test注解的方法,不能使用Junit运行的
public void show01(){
System.out.println("Demo02Junit show01方法");
}
//java.lang.Exception: Method show02() should be public 方法show02应该被public修饰
//@Test
private void show02(){
System.out.println("Demo02Junit show02方法");
}
//java.lang.Exception: Method show03 should have no parameters 方法show03应该没有参数
//@Test
public void show03(int a){
System.out.println("Demo02Junit show03方法"+a);
}
//java.lang.Exception: Method show04() should be void 方法show04应是void修饰
//@Test
public String show04(){
System.out.println("Demo02Junit show04方法");
return "hello";
}
//java.lang.Exception: Method show05() should not be static 方法show05应该没有static修饰
//@Test
public static void show05(){
System.out.println("Demo02Junit show05方法");
}
//定义一个可以使用Junit运行的方法
@Test
public void method(){
//调用哪些不能直接使用junit运行的方法
show01();
show02();
show03(10);
String s = show04();
System.out.println(s);
show05();
}
}
四.Junit相关注解
package com.itheima.demo01Junit;
import org.junit.*;
/*
Junit相关的注解:
@Test:
用来修饰方法,该方法是单元测试的方法,可以单独运行方法
@Before:在...前边
用来修饰方法,该方法会在每一个测试方法执行之前[自动]执行一次。
@After:在...后边
用来修饰方法,该方法会在每一个测试方法执行之后[自动]执行一次
@BeforeClass:
用来静态修饰方法,该方法会在所有测试方法之前[自动]执行一次,而且只执行一次
@AfterClass:
用来静态修饰方法,该方法会在所有测试方法之后[自动]执行一次,而且只执行一次
注意:
1.@Before,@After,@BeforeClass,@AfterClass:这四个注解修饰的方法不能单独执行
2.@Before,@After,@BeforeClass,@AfterClass:这四个注解修饰的方法会[自动]在@Test修饰方法前后运行
*/
public class Demo03Junit {
@Test
public void show01(){
System.out.println("show01方法");
}
@Test
public void show02(){
System.out.println("show02方法");
}
@Test
public void show03(){
System.out.println("show03方法");
}
@Before
public void before(){
System.out.println("before方法");
}
@After
public void after(){
System.out.println("after方法");
}
@BeforeClass
public static void beforeClass(){
System.out.println("beforeClass方法");
}
@AfterClass
public static void afterClass(){
System.out.println("afterClass方法");
}
}
执行的结果:
beforeClass方法
before方法
show03方法
after方法
before方法
show01方法
after方法
before方法
show02方法
after方法
afterClass方法
备注:文章来源:https://www.toymoban.com/news/detail-426017.html
Junit常用注解(Junit5.x版本)文章来源地址https://www.toymoban.com/news/detail-426017.html
- @BeforeEach:用来修饰方法,该方法会在每一个测试方法执行之前执行一次。
- @AfterEach:用来修饰方法,该方法会在每一个测试方法执行之后执行一次。
- @BeforeAll:用来静态修饰方法,该方法会在所有测试方法执行之前执行一次。
- @AfterAll:用来静态修饰方法,该方法会在所有测试方法执行之后执行一次
五.断言(了解)
- 作用
预测判断某个条件一定成立, 如果条件不成立,则直接奔溃 - 使用方式
两个参数: 第一个代表预判值, 第二个代表实际结果
如果预判正确就会绿色通过
如果预判错误就会红色失败
Assert.assertEquals(期望结果 , 实际结果);
package com.itheima.demo01Junit;
import org.junit.Assert;
/*
作用
预测判断某个条件一定成立, 如果条件不成立,则直接崩溃(抛异常)
使用方式
Assert.assertEquals(期望结果 , 实际结果);
两个参数: 第一个代表预判值, 第二个代表实际结果
如果预判正确就会绿色通过
如果预判错误就会红色失败
*/
public class Demo04Junit {
public static void main(String[] args) {
//断言正确,无任何结果
Assert.assertEquals(true,"helloworld".contains("hello"));
/*
AssertionError:断言异常
expected:<true> 期望的是true
but was:<false> 得到的实际结果是false
*/
//Assert.assertEquals(true,"helloworld".contains("你好"));
Assert.assertEquals(10,Integer.parseInt("10"));
/*
AssertionError: 断言异常
expected:<10>期望的是10
but was:<11>得到的实际结果是11
*/
Assert.assertEquals(10,Integer.parseInt("11"));
}
}
到了这里,关于Junit单元测试(笔记)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!