视频地址
步骤
1.在工程目录下新建一个source folder命名为test专门存放测试类
在工程上,右键->new->Source Folder 2.为需要创建测试类的创建测试类
在类文件上,右键->new->JUnit Test Case 把目录为新建的test目录,包名要与被测试类相同可以勾选是否自动生成@BeforeClass;@AfterClass;@Before;@After;注解方法点击,next可以选择需要测试的方法3.运行测试类里的一个方法
将光标选中该方法,右键->Run As->JUnit Test4.运行测试类里所有方法
将光标移出方法名的范围,右键->Run As->JUnit Test5.运行多个测试类里的所有方法
a.新建一个测试类,b.删除新建类的所有方法c.用@RunWith(Suite.class)注解将runner改为Suited.用@Suite.SuiteClasses()以数组的方式设置要跑的多个测试类
package com.ztc;
import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({CalculateTest.class,TaskTest.class})
public class SuiteTest {
}
6.运行多组参数测试
a.更改默认的测试运行器为RunWith(Parameterized.class) b.声明变量存放预期值和测试数据 c.声明一个返回值 为Collection的公共静态方法,并使用@Parameters进行修饰 d.为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值 e.运行测试方法,即可完成对多组数据的测试
package com.ztc;
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 ParamersTest {
int ans;
int a;
int b;
public ParamersTest(
int ans,
int a,
int b) {
this.ans = ans;
this.a = a;
this.b = b;
}
@Parameters
public static Collection<Object[]>
t() {
return Arrays.asList(
new Object[][]{
{
4,
1,
2},
{
4,
2,
2},
{
3,
1,
2}
}) ;
}
@Test
public void testAdd() {
assertEquals(ans,
new Calculate().add(a, b));
}
}
常见注解
@Test:将一个普通的方法修饰成为一个测试方法
@Test(expected=XX.class)@Test(timeout=毫秒)@BeforeClass:它会在所有的方法运行前被执行,static修饰@AfterClass:它会在所有的方法运行结束后被执行,static修饰@Before:会在每一个测试方法被运行前执行一次@After:会在每一个测试方法运行后被执行一次@Ignore:所修饰的测试方法会被测试运行器忽略@RunWith:可以更改测试运行器 org.junit.runner.Runner
Test执行流程
[@BeforeClass]->{ ([@Before]->[@Test]->[@After]) … }->[@AfterClass]
转载请注明原文地址: https://ju.6miu.com/read-1291285.html