• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

JBuilder单元测试实例

发布: 2008-10-31 10:01 | 作者: 不详 | 来源: 测试时代采编 | 查看: 2652次 | 进入软件测试论坛讨论

领测软件测试网
关键字:JBuilder单元测试


当我们建立了一个类时,我们可以为它建立一个单元测试。为建立一个有意义的测试实例,通常开始询问您要使用何种类型的类,然后编写代码,进行单元测试——回归的独立测试。

实际上有许多种方法使用新的money类,这里我们将执行两个测试实例。我们讨论的两个测试(testAddMoney101()和testEquals())将足以演示如何建立单元测试。

 

1 JUnit

单元测试并不是新的概念。而新的是Borland JBuilder支持面向对象、开放源代码的测试框架。测试框架的Java 版本是众所周知的JUnit。

JUnit是编写重复测试的简单框架。它是单元测试框架中的一个xUnit框架的实例。您可以从

http://junit.sourceforge.net

http://www.junit.org

中了解更多关于该框架的信息。

在我们建立第一个测试实例前,我们需要了解所有测试实例都来自于TestCase类。为写出正确的测试实例,您的类将需要以下代码。

import junit.framework.*

public class TestMoney101 extends TestCase {
public TestMoney101(String s) {

super(s);

}

protected void setUp() {

}

 

protected void tearDown() {

}

 

}
 

建立TestMoney101的构造函数(constructor)接受建立的参数,并把它传到父类。setUp()和tearDown()成员函数的支持提供给您建立和取消所需建立一个成功的测试和报告的任何准备活动。我们将稍后展示如何使用这些成员函数建立一个可重用的测试框架。

2 增加特殊测试

一旦我们提供了一个基本的TestCase 签名,我们就能建立我们的第一个测试实例。请增加以下代码到TestMoney101。

 

public void testAddMoney101() {

Money101 m12EUR = new Money101(12, "EUR"); // (1)

Money101 m14EUR = new Money101(14, "EUR"); // (1)

Money101 expected = new Money101(26, "EUR");

Money101 result = m12EUR.addMoney101(m14EUR); // (2)

Assert.assertTrue(expected.equals(result)); // (3)

}

测试方法testAddMoney101() 将:

(1)建立被测试对象;

(2)调用一个测试的成员函数(addMoney101());

(3)调用另一个成员函数(equals()),并校验结果(Assert.assertTrue())。

所有用户指定的成员函数执行惟一的测试,且操作必须是public类型。

我们将在测试类中加入等式测试,相应的代码如下:

 

public void testEquals() {

Money101 m12EUR = new Money101(12, "EUR");

Money101 m14EUR = new Money101(14, "EUR");

Assert.assertTrue(!m12EUR.equals(null));

Assert.assertTrue(m12EUR.equals(m12EUR));

Assert.assertTrue(m12EUR.equals(new Money101(12, "EUR")));

Assert.assertTrue(!m12EUR.equals(m14EUR));

}

我们再次依赖Assert 类来报告相关错误条件。现在我们有时间来检查Assert的能力。

3 使用断言(Assert)

开发人员熟悉其他编程环境通常的断言概念。例如,在C和C++中,assert()宏是常常用来测试一个正确的结论到一个潜在问题的操作。在JUnit中,您可以直接从测试实例中调用任何Assert方法,因为TestCase 是Assert的子类。

不像C和C++语言中assertion 宏的发现,Assert类–被定义和应用为junit.framework.Assert,具有的功能如下所示。

Assert.assertEquals

Assert.assertNotNull

Assert.assertNull

Assert.assertSame

Assert.assertTrue

Assert.fail

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: jbuilder JBuilder 单元 实例

31/3123>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网