import junit.framework.* public class TestMoney101 extends TestCase { public TestMoney101(String s) { super(s); } protected void setUp() { } protected void tearDown() { } }
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) }
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)); }
public class TestMoney extends TestCase { Money101 f12EUR; Money101 f14EUR; public TestMoney101(String s) { super(s); }protected void setUp() { // set up the fixture f12EUR = new Money101(12, "EUR"); f14EUR = new Money101(14, "EUR"); } protected void tearDown() { }public void testAddMoney101() { Money101 expected = new Money101(26, "EUR"); Money101 result = f12EUR.addMoney101(f14EUR); Assert.assertTrue(expected.equals(result)); }public void testEquals() { Assert.assertTrue(!f12EUR.equals(null)); Assert.assertTrue(f12EUR.equals(f12EUR)); Assert.assertTrue(f12EUR.equals(new Money101(12, "EUR")); Assert.assertTrue(!f12EUR.equals(f14EUR)); } }
5 测试集
测试实例可以被集成为测试集。顶层的测试集应该包含其他所有的测试实例和(或)测试集。
测试实例和测试集都是TestCase 的扩展并执行Test 接口。测试实例和测试集惟一的区别是测试实例包含单独的测试方法,而测试集通常用来组织其他单元实例到一个逻辑的组中,并把它们作为组来运行。测试集可以调用任何测试实例或测试集。
有两种方法执行测试集,分别为:静态和动态。在静态和动态测试中,您都必须提供一个静态方法建立测试集。
5.1 建立动态测试
有两种方法建立动态测试实例。第一种方法不仅允许您动态地实例化Test,也可以允许您动态地为正在运行的测试实例加入单独的测试。相应的代码如下:
public static Test suite() { TestSuite suite = new TestSuite(); suite.addTest(new TestMoney101("testEquals")); suite.addTest(new TestMoney101("testAddMoney")); return suite; }
suite()函数返回一个Test的接口,此接口是被动态建立的。每个测试方法都可以被单独增加。
我们不仅可以单独增加每个测试到动态实例,而且可以使用符合字符串的构造函数,相应的代码如下:
public static Test suite() { return new testSuite(TestMoney101.class); }
5.2 建立静态测试
这是使用静态Test建立同样功能的代码。
public static Test suite() { TestSuite suite = new TestSuite(); suite.addTest(new TestMoney101("money equals") { protected void runTest() { testEquals(); } }); suite.addTest(new TestMoney101("money add") { protected void runTest() { testAddMoney101(); } }); return suite; }
5.3 JBuilder界面
在JBuilder中使用Test Runner的这些测试输出样式如下图所示。

JBuilder中提供了3种test runner 的类型。每个test runner 对应一个特定的用户界面。
JUnit Text UI
JUnit Swing UI
JUnit Awt UI
您可以选择【Project】→【Properties】命令或【Run】→【Configurations】命令中Run面板,在其中选择Test Runner。每个Test Runner都由Borland JBuilder 集成到测试框架中。
如果测试失败,将以一个红色小球作为标记。在 JBuilder 中双击该测试方法,您可以直接看到其源代码。
| 第1页: 第1页 |