JUnit使用参数测试和一组测试

发表于:2015-8-19 10:36

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:blfshiye    来源:51Testing软件测试网采编

分享:
  执行结果:
  Parameterized Number is : 1
  Parameterized Number is : 3
  Parameterized Number is : 6
  Parameterized Number is : 11
  Parameterized Number is : 22
  Parameterized Number is : 23
  true
  如今,将某个数据改动一下,如{ 11, true }改成{ 10, true },执行结果:
  Parameterized Number is : 1
  Parameterized Number is : 3
  Parameterized Number is : 6
  Parameterized Number is : 10
  Parameterized Number is : 22
  Parameterized Number is : 23
  testOdd[3](myTest.param.ParametTestUnit): expected:<true> but was:<false>
  false
  表示第3个数据(基于0)有问题。
  成组測试
  有非常多单元測试类须要測试,将它们组成一个Suite。大家一起測试。
  比如新写了两个单元測试类:
package myTest.param;
import static org.junit.Assert.assertEquals;
public class AddUnit1 {
@org.junit.Test
public void testAdd() {
System.out.println("Inside AddUnit1");
assertEquals(3, 1+2);
}
}
package myTest.param;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
public class AddUnit2 {
@org.junit.Test
public void testSth() {
System.out.println("Inside AddUnit2");
assertThat("Zero is one", 0, is(not(1))); // passes
assertThat("Zero is one", 0, is(1)); //fail
}
}
  将它们组成一个Suite,须要写捆绑代码,清晰起见。单独用一个类。
  package myTest.param;
  import org.junit.runner.RunWith;
  import org.junit.runners.Suite;
  @RunWith(Suite.class)
  @Suite.SuiteClasses({
  AddUnit1.class,
  AddUnit2.class,
  //ParametTestUnit.class
  })
  public class SuiteUnit {}
  还是用上面的Main,改动为runClasses(SuiteUnit.class); 执行结果:
  Inside AddUnit1.testAdd()
  Inside AddUnit2.testSth()
  testSth(myTest.param.AddUnit2): Zero is one
  Expected: is <1>
  got: <0>
  false
  能够把对ParametTestUnit.class的測试也加进来。执行结果:
Inside AddUnit1.testAdd()
Inside AddUnit2.testSth()
Parameterized Number is : 1
Parameterized Number is : 3
Parameterized Number is : 6
Parameterized Number is : 10
Parameterized Number is : 22
Parameterized Number is : 23
testSth(myTest.param.AddUnit2): Zero is one
Expected: is <1>
got: <0>
testOdd[3](myTest.param.ParametTestUnit): expected:<true> but was:<false>
false
22/2<12
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号