在学会了对单个方法、类、接口等进行测试后,接着看看这么创建Test Suite,先看一个例子:
public static Test Suite(){
TestSuite suite = new TestSuite();
suite.addTest(new MoneyTest("testEquals"));
suite.addTest(new MoneyTest("testSimpleAdd"));
return suite;
}
看这个例子创建的Test Suite由两个测试组成:testEquals() 和testSimpleAdd().这种为“手动创建Test Suite”,因为没添加一个测试方法,就必须手动的更新Test Suite的测试列表。这种方式在JUnit2.0之前,是唯一创建Test Suite。但是现在就不是唯一的途径了。
现在的框架提供了为Test Case类的测试方法自动创建Test Suite的功能。只要掌握几个简单的原则,JUnit就会自动发现你的测试,并执行它们:
1. 你的测试方法必须是instance级别的,既不能有参数,也不能有返回值。也就是说,你必须将这些测试方法声明为public void testMehtodName()的形式。这是JUnit中创建测试方法的统一要求,不论你自己创建Test Suite,还是让框架自动完成,都必须这样做。
2. 你的测试方法的名字必须以"test(没有引号)"开头,几个字母必须全是小写。
除此之外,如何声明你的测试方法没有限制。不过测试代码最好遵循如下的规律:
首先创建对象,然后调用某个方法,最后验证结果。
下面看看各个方法功能(JUnit 如何创建默认的Test Suite)
Test Suite 方法 | 功能 |
Constructor TestSuite(Class) | 验证是否有public的构造函数。验证类本身是否是public的。调用addTestMethod()方法添加类中声明的每个测试方法。将这个类的超类中声明测试提取到当前的类层次。如果类中没有测试,就发布一个warning。 |
addTestMethod() | 调用isPublicTestMethod()方法验证这个方法是否测试方法。如果测试方法命名正确但不是public类型的,就发布一个warning。如果该方法是有效测试方法,就为该方法创建测试对象,并把它添加到Test Suite. |
isPublicTestMethod() | 调用isTestMethod()方法验证一个方法是否测试方法。验证一个测试方法是否是public的,如果一个方法是public的并且是测试方法,就返回真。 |
isTestMethod() | 验证一个方法是否没有参数,没有返回值,并且名字以“test”开始 |
JUnit自动创建的Test Suite的方式,促使你编写独立的测试,这也是一个普遍接受哦好的测试编写习惯。你不要指望你的测试依照特定的次序进行,也不要让一个测试的失败影响Test Suite中其他测试的结果。
分享到:
相关推荐
在JUnit3中,创建一个单元测试通常需要扩展`TestCase`类,并且测试方法必须以`test`开头。以下是一个简单的例子: ```java import junit.framework.TestCase; import static org.junit.Assert.*; public class ...
本文将详细介绍如何在Android项目中设置和使用JUnitTest用例,以及如何通过JUnitTestDemo来理解其工作原理。 1. **JUnit介绍** JUnit是一个开源的、用于Java编程语言的单元测试框架。它为编写可重复运行的测试用例...
1. 创建一个 TestCase 的子类:首先需要创建一个继承自 TestCase 的子类。 2. 写一个测试方法断言期望的结果:在测试方法中,需要断言期望的结果。 3. 写一个 suite() 方法:用于动态创建一个包含所有的 testXxxx ...
在`JUnit & 简单Junit使用代码`这个文件中,可能包含了一个或多个示例,展示了如何创建测试类、编写测试方法、使用断言以及设置测试环境。例如,可能有一个简单的数学操作类`MathUtils`,以及对应的测试类`...
JUnit是Java编程语言中最常用的单元测试框架,它允许开发者创建和运行针对代码的自动化测试。 在进行单元测试时,我们首先需要理解**单元测试的概念**。单元测试是对程序中最小可测试单元进行验证,通常是单个函数...
首先,需要建立一个包路径,然后创建一个 Junit 测试类,继承自 junit.framework.TestCase。这个测试类需要编写一个无参构造器,用于创建服务引擎和实体引擎。然后,需要编写一个方法,用于测试服务的返回结果。 ...
### 单元测试工具Junit的简单使用 #### 一、引言 随着软件开发规模的不断扩大和技术的日益复杂化,软件质量成为了决定项目成败的关键因素之一。单元测试作为提高软件质量的重要手段,在软件开发过程中扮演着至关...
在使用JUnit时,通常会创建TestCase的子类,为测试所需的环境设置(fixture)创建实例变量,并重写setUp()和tearDown()方法。setUp()方法用于在每个测试之前初始化变量,而tearDown()则负责在测试结束后释放可能占用...
测试类通常会继承自`junit.framework.TestCase`(在较新版本的JUnit5中,使用`org.junit.jupiter.api.Test`注解),并在其中定义一系列测试方法。这些方法通常以`test`开头,无参数且返回值为void。例如,你可以创建...
创建一个新的Java类,例如`BubbleSortTest`,并继承自`org.junit.jupiter.api.TestInstance`(对于JUnit 5)或`org.junit.TestCase`(对于JUnit 4)。然后,在这个类中,我们将定义测试方法。 2. **定义测试方法**...
JUnit 是一个广泛使用的开源Java单元测试框架,由Erich Gamma和Kent Beck共同创建。它的主要目的是简化和自动化Java代码的单元测试,确保每个独立的代码模块(或单元)都能正常工作。JUnit提供了一系列API,使得...
5. 框架继承:在JUnit中,通常需要继承`TestCase`类并重写相关方法来创建测试用例。 以下是一个简单的JUnit4测试示例,针对上述`A`类的`sum()`和`reverse()`方法进行测试: ```java import org.junit.Test; import...
测试类通常继承自`org.junit.TestCase`或使用注解`@RunWith(JUnit4.class)`,然后在类中定义方法,使用`@Test`注解标记测试点。测试方法内部,可以使用`assertEquals()`、`assertTrue()`等断言方法,或者结合...
1. 创建测试类,继承 junit.framework.TestCase,利用 Eclipse 可以很方便的开发 JUnit 测试用例。 2. 写测试方法,提供类似于如下函数签名的测试方法(必须以 test 开头):public void testXXXXX(); 3. 编译,书写...
在Junit4中,我们可以使用Annotation来描述测试用例,而不需要继承自TestCase类。下面我们将详细介绍Junit4的使用和在Eclipse中如何高效方便的进行对代码进行测试。 Junit4概述 JUnit4是JUnit框架有史以来的最大...
1. 创建测试类:继承自`junit.framework.TestCase`(对于JUnit 3.x)或`org.junit.Test`(对于JUnit 4.x及以上版本),创建测试用例类。 2. 编写测试方法:在测试类中,定义以`test`开头的方法,这些方法将被视为...