java的Junit单元测试

时间:2022-09-09 23:02:43

函数主要分为以下几类:

1.有固定返回值的。用assert 方法即可。

2.修改了状态。

(1)修改了数据库中的数据。可以查询数据库(select  语句),看数据是否发生了改变。

    --原则上应该是用伪造数据的方法解决这种依赖。

两个小例子:

import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class ChannelManagerImplTest {
@Test
public void Test(){
assertEquals(2,1+5);
}
}

有很多个参数的:

mport static org.junit.Assert.*;

import java.io.IOException;
import java.util.List; import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameter;
import org.junit.runners.Parameterized.Parameters; import com.google.common.collect.Lists; @RunWith(Parameterized.class)
public class ChannelManagerImplTest {
@Rule
public ExpectedException thrown = ExpectedException.none(); @Parameters
public static List<Object[]> dataFeed() {
return Lists.asList(new Object[]{-1, 1, 0}, new Object[][]{{20, 20, 40},{30, 30, 60},{-5, -5, -10}});
}
@Parameter(value = 0)
public int o1;
@Parameter(value = 1)
public int o2;
@Parameter(value = 2)
public int expector; @Test
public void test() throws IOException, RuntimeException{
assertEquals(expector, o1 + o2);
System.out.println("o1+o2 := " + (o1 + o2));
System.out.println("expector := " + expector);
} }