单元测试:
public class Fact {
public static void main(String[] args) {
if(fact(10)==3628800){
System.out.println("pass");
}else {
System.out.println("fail");
}
}
public static long fact(long n){
long r = 1;
for(long i=1;i<n;i++){
r = r * i;
}
return r;
}
}
单元测试的好处:
JUnit特点:
使用断言Assertion测试期望结果
可以方便地组织和运行测试
可以方便地查看测试结果
常用IDE(例如Eclipse)都继承了JUnit
可以方便的集成到Maven
JUnit的设计:
TestCase:一个Testcase表示一个测试
TestSuite:一个TestSuite包含一组TestCase,表示一组测试
TestFixture:一个TestFixture表示一个测试环境
TestResult:用于收集测试结果
TestRunner:用于运行测试
TestListener:用于监听测试过程,收集测试数据
Assert:用于断言测试结果是否正确
使用Assert断言:import static org.junit.Assert.*
断言相等:assertEquals(100,x)
断言数组相等:assertArrayEquals({1,2,3},x)
断言浮点数相等:assertEquals(3.1415,x,0.0001)
断言为null:assertNull(x)
断言为true/false:assertTrue(x>0) assertFalse(x<0)
其他:assertNotEquals/assertNotNull
创建单元测试
1.创建Func.java
import java.util.Arrays;
public class Func {
public long fact(long n){
long r = 1;
for(long i=1;i<=n;i++){
r = r * i;
}
return r;
}
public int calculate(String expression){
String[] ss = expression.split("\\+");
System.out.println(expression+"=>"+ Arrays.toString(ss));
int sum=0;
for(String s:ss){
sum = sum + Integer.parseInt(s);
}
return sum;
}
}
2.IDEA创建单元测试
2.1根目录下新建test目录,右键->Mark Direcotory as -> Test Sources Root
2.2打开待测试类Func.java,右键->Go to->Test->Create new
总结:
廖雪峰Java8JUnit单元测试-1JUnit简介-1JUnit测试
原文:https://www.cnblogs.com/csj2018/p/10714954.html