当我们建立了一个类时,我们可以为它建立一个单元测试。为建立一个有意义的测试实例,通常开始询问您要使用何种类型的类,然后编写代码,进行单元测试——回归的独立测试。
实际上有许多种方法使用新的money类,这里我们将执行两个测试实例。我们讨论的两个测试(testAddMoney101()和testEquals())将足以演示如何建立单元测试。
1 JUnit
单元测试并不是新的概念。而新的是Borland JBuilder支持面向对象、开放源代码的测试框架。测试框架的Java 版本是众所周知的JUnit。
JUnit是编写重复测试的简单框架。它是单元测试框架中的一个xUnit框架的实例。您可以从
http://junit.sourceforge.net
http://www.junit.org
中了解更多关于该框架的信息。
在我们建立第一个测试实例前,我们需要了解所有测试实例都来自于TestCase类。为写出正确的测试实例,您的类将需要以下代码。
public class TestMoney101 extends TestCase {
public TestMoney101(String s) {
super(s);
}
protected void setUp() {
}
protected void tearDown() {
}
}
建立TestMoney101的构造函数(constructor)接受建立的参数,并把它传到父类。setUp()和tearDown()成员函数的支持提供给您建立和取消所需建立一个成功的测试和报告的任何准备活动。我们将稍后展示如何使用这些成员函数建立一个可重用的测试框架。
2 增加特殊测试
一旦我们提供了一个基本的TestCase 签名,我们就能建立我们的第一个测试实例。请增加以下代码到TestMoney101。
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类型。
我们将在测试类中加入等式测试,相应的代码如下:
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));
}
文章来源于领测软件测试网 https://www.ltesting.net/