您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > junit
JUnit4.12 入门实例
作者:Devin 发布时间:[ 2016/10/12 14:37:42 ] 推荐标签:单元测试 Junit

  项目工程基于Idea IDE创建,其对JUnit对支持非常不错,写单元测试类也非常方便,直接使用快捷键Ctrl+Shift+T即可自动生成相应的单元测试类模板,使用快捷键Alt+Insert可直接添加新增的单元测试方法;另外本项目使用Gradle进行依赖管理。
  为什么做单元测试:
  1.帮助理解需求
  单元测试应该反映Use Case,把被测单元当成黑盒测试其外部行为。
  2.提高实现质量
  单元测试不保证程序做正确的事,但能帮助保证程序正确地做事,从而提高实现质量。
  3.测试成本低
  相比集成测试、验收测试,单元测试所依赖的外部环境少,自动化程度高,时间短,节约了测试成本。
  4.反馈速度快
  单元测试提供快速反馈,把bug消灭在开发阶段,减少问题流到集成测试、验收测试和用户,降低了软件质量控制的成本。
  5.利于重构
  由于有单元测试作为回归测试用例,有助于预防在重构过程中引入bug。
  6.文档作用
  单元测试提供了被测单元的使用场景,起到了使用文档的作用。
  7.对设计的反馈
  一个模块很难进行单元测试通常是不良设计的信号,单元测试可以反过来指导设计出高内聚、低耦合的模块。
  JUnit简介
  JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。
  单元测试规范
  1.单元测试类后面加Test;
  2.测试方法使用@Test标注;
  3.测试方法名之前加test;
  4.所有测试方法返回类型必须为void且无参数;
  5.每个测试方法之间相互独立;
  JUnit4常用注解
  @Test:把一个方法标记为测试方法
  它有两个常用属性:
  1.excepted属性是用来测试异常;
  2.timeout用来测试性能的,是测试一个方法能不能在规定时间内完成;
  也可使用@Rule规则来规定测试类中的所有方法的超时时间,如果类中的任意一个方法执行时间超过了在Timeout规则中规定的值,测试方法将抛出异常,测试结果为失败(超时参数是以毫秒记)。如:
@Rule
public Timeout timeout = new Timeout(1000);
@Before:每一个测试方法执行前自动调用一次;
@After:每一个测试方法执行完自动调用一次;
@BeforeClass:所有测试方法执行前执行一次,在测试类还没有实例化已经被加载,所以用static修饰;
@AfterClass:所有测试方法执行完执行一次,在测试类还没有实例化已经被加载,所以用static修饰;
@Ignore:禁止执行junit测试类的某些或者全部测试方法,应用在方法或类上;
public class AnnotationTest {
int i;
public AnnotationTest(){
System.out.println("构造方法");
}
@BeforeClass
public static void setUpBeforClass(){
System.out.println("BeforClass");
}
@AfterClass
public static void tearDownAfterClass(){
System.out.println("AfterClass");
}
@Before
public void setUp(){
System.out.println("Before");
}
@After
public void tearDown(){
System.out.println("After");
}
@Test
public void test1(){
System.out.println("Test1");
System.out.println("i="+i++);
}
@Test
public void test2(){
System.out.println("Test2");
System.out.println("i="+i++);
}
@Ignore
public void test3(){
System.out.println("Test3");
}
}
  输出结果:
  BeforClass
  构造方法
  Before
  Test2
  i=0
  After
  AfterClass

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd