junit4的简单使用
测试套件的使用
测试类1
package com.westward; import static org.junit.Assert.*; import org.junit.Test; public class TaskTest1 { @Test
public void test() {
System.out.println("tasktest1");
} }
测试类2
package com.westward; import static org.junit.Assert.*; import org.junit.Test; public class TaskTest2 { @Test
public void test() {
System.out.println("tasktest2");
} }
测试类3
package com.westward; import static org.junit.Assert.*; import org.junit.Test; public class TaskTest3 { @Test
public void test() {
System.out.println("tasktest3");
} }
测试套件:
注意:测试套件类里,不能有任何代码
package com.westward; import static org.junit.Assert.*; import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class)
@SuiteClasses({TaskTest1.class,TaskTest2.class,TaskTest3.class})
public class SuiteTest { }
参数化测试
测试类
package com.westward; public class Calculator {
public int add(int a,int b){
return a+ b;
}
public int subtract(int a,int b){
return a- b;
}
public int multiply(int a,int b){
return a* b;
}
public int divide(int a,int b){
return a/ b;
}
}
参数化测试类;
package com.westward; import static org.junit.Assert.*; import java.util.Arrays;
import java.util.Collection; import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class)
public class ParameterTest {
int expected= 0;
int input1= 0;
int input2= 0;
/**
* 必须是static方法
* */
@Parameters
public static Collection<Object[]> t(){
return Arrays.asList(new Object[][]{
{3,1,2},{6,2,4},{7,3,4}
});
}
public ParameterTest(int expected,int input1,int input2) {
this.expected= expected;
this.input1= input1;
this.input2= input2;
}
@Test
public void testAdd(){
assertEquals(expected, new Calculator().add(input1, input2));
}
}