关闭

软件测试之应用JUnit进行单元测试(一)

发表于:2023-12-04 09:26

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

 作者:马里奥w    来源:CSDN

  一、实验原理
  JUnit是一个开源的Java编程语言的单元测试框架,最初由 Erich Gamma 和 Kent Beck 编写。Junit测试是一种白盒测试工具。JUnit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。具有JUnit经验对于应用“测试驱动开发(TDD)”的程序开发模型是非常重要的。
  JUnit本质上是一套框架,即开发者制定了一套条条框框,遵循这此条条框框要求编写测试代码,如继承某个类,实现某个接口,就可以用JUnit进行自动测试了。
  由于JUnit相对独立于所编写的代码,可以测试代码的编写可以先于实现代码的编写,XP 中推崇的 test first design的实现有了现成的手段:用JUnit写测试代码,写实现代码,运行测试,测试失败,修改实现代码,再运行测试,直到测试成功。以后对代码的修改和优化,运行测试成功,则修改成功。
  Java 下的 team 开发,采用 cvs(版本控制) + ant(项目管理) + JUnit (集成测试) 的模式时,通过对ant的配置,可以很简单地实现测试自动化。
  二、实验内容
  1、JUnit包下载配置
  (1) 从http://www.junit.org下载Junit。
  (2) 解包Junit-4.X,得到如图的解包文件。
  Junit文件说明:
  junit.jar:JUnit框架结构、扩展和测试运行器的二进制发布。
  src.jar:JUnit的源代码,包括一个 Ant 的buildfile文件。
  junit:是个目录,内有JUnit自带的用JUnit编写的测试示例程序。
  javadoc:JUnit完整的API文档。
  doc:一些文档和文章,包括“Test Infected: Programmers Love Writing Tests”和其它一些资料,可以帮助我们入门。
  (3) 配置。
  步骤如下:
  ①右击“我的电脑”-“属性”-高级-环境变量;
  ②在系统变量中选择“CLASSPATH”,添加如下变量值:
  ③检验:打开cmd
  输入命令:java org.junit.runner.JUnitCore org.junit.tests.AllTests
  配置成功,如图下图所示。
  2、编写JUnit测试用例
  使用JUnit 的最佳实践:
  (1)新建一个名为test的source folder,用于存放测试类源代码;
  (2)目标类与测试类应该位于同一个包下面,这样测试类中就不必导入源代码所在的包,因为他们位于同一个包下面;
  (3)测试类的命名规则:假如目标类是Calculator,那么测试类应该命名为TestCalculator或者是CalculatorTest。
  下面将以一个具体的实例进行说明。
  (1) 新建一个 Java Project。命名为JunItTest,然后配置构建路径Add Library-JUnit 4。
  在Java Build Path-Libraries上点击Add Library…选择JUnit导入
  选择JUnit 4
  (2) 建一个包com.test 并在此包下建一个除法类:Divide。
  Divide类的程序源代码如下所示:
  package com.test;
  public class Divide {
  private static int result;
  public void divide(int num)
  {
  result/=num;
  }
  public int getResult()
  {
  return result;
  }
  public void setResult(int result)
  {
  Divide.result=result;
  }
  }
  (3)右键Divide类,新建JUnit Test Case
  Eclipse会自动为测试类取名:被测试类+Test,单击Next就可以了。选择需要进行测试的方法。
  注意:测试类之所以使用“Test”开头或“Test”结尾,是为了更好的区分测试类与被测试类。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号