Java测试与动态代理技术实践
1. 使用JUnit代码收集测试类
JUnit提供了一种机制,可帮助我们收集类路径上的测试类。我们可以通过运行JUnit观察到它有收集所有测试类列表的能力,进一步查看JUnit分发的源代码,会发现有一个名为 junit.runner.ClassPathTestCollector
的类。
为了收集所有测试类,我们将创建一个名为 SuiteBuilder
的类。下面是一个简单的 SuiteBuilder
测试类 SuiteBuilderTest
,用于确保 SuiteBuilderTest
本身能在类路径找到的测试类列表中被返回:
package sis.testing;
import junit.framework.*;
import java.util.*;
public class SuiteBuilderTest extends TestCase {
public void testGatherTestClassNames() {
SuiteBuilder builder = new SuiteBuilder();
List<String> classes = builder.gatherTestClassNames();
assertTrue(classes.contains("testing.SuiteBuilderTest"));
}
}