`
javaboy2006
  • 浏览: 183262 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

junit3为何只能跑public void testXXX()声明方法

阅读更多
junit完整生命周期时序图

在图中第2步调用TestSuite构造方法时,代码如下:
	 public TestSuite(final Class theClass) {
		fName= theClass.getName();
		try {
			getTestConstructor(theClass); // Avoid generating multiple error messages
		} catch (NoSuchMethodException e) {
			addTest(warning("Class "+theClass.getName()+" has no public constructor TestCase(String name) or TestCase()"));
			return;
		}

		if (!Modifier.isPublic(theClass.getModifiers())) {
			addTest(warning("Class "+theClass.getName()+" is not public"));
			return;
		}

		Class superClass= theClass;
		Vector names= new Vector();
		while (Test.class.isAssignableFrom(superClass)) {
			Method[] methods= superClass.getDeclaredMethods();
			for (int i= 0; i < methods.length; i++) {
				addTestMethod(methods[i], names, theClass);
			}
			superClass= superClass.getSuperclass();
		}
		if (fTests.size() == 0)
			addTest(warning("No tests found in "+theClass.getName()));
	}

addTestMethod()方法代码如下:
	private void addTestMethod(Method m, Vector names, Class theClass) {
		String name= m.getName();
		if (names.contains(name))
			return;
		if (! isPublicTestMethod(m)) {
			if (isTestMethod(m))
				addTest(warning("Test method isn't public: "+m.getName()));
			return;
		}
		names.addElement(name);
		addTest(createTest(theClass, name));
	}

isTestMethod()方法代码如下:
	private boolean isTestMethod(Method m) {
		String name= m.getName();
		Class[] parameters= m.getParameterTypes();
		Class returnType= m.getReturnType();
		return parameters.length == 0 && name.startsWith("test") && returnType.equals(Void.TYPE);
	 }

最后一行代码给出了对test方法声明所做的限制。
  • 大小: 8.6 KB
分享到:
评论

相关推荐

    Junit测试Void方法

    Junit通常用于那些有明确返回值的方法的测试,而无法对返回值是void类型的方法进行测试,因为Junit的assert断言方法只适用于预期值与实际值的比较,对于void类型的方法,我们无法从它的return语句获得具体的返回值。...

    用JUnit测试void方法

    Junit 通常用于那些有明确返回值的方法的测试,而无法对返回值是void类型的方法进行测试,因为Junit的assert断言方法只适用于预期值与实际值的比 较,对于void类型的方法,我们无法从它的return语句获得具体的返回值...

    Junit中的基本注解(教学视频)

    Junit中的基本注解(教学视频) Junit中的基本注解,是必须掌握的。 @BeforeClass – 表示在类中的任意public static void方法执行之前执行 ...@Test – 使用该注解标注的public void方法会表示为一个测试方法

    Junit4.10.jar

    (1)测试方法上必须使用@Test进行修饰(2)测试方法必须用public void修饰不能带参数(3)需要新建一个源代码目录来存放测试代码(4)测试类的包必须要与被测试类包名一致(5)测试单元中的每个方法必须可以独立...

    junit 单元测试 实验 报告 大全

    public void select_sort (int a[]) { 1 int i, j, k, t, n; 2 n = a.length; 3 for (i = 0; i ; i++) { 4 k = i; 5 for (j = i + 1; j ; j++) { 6 if (a [j] [k]) { 7 k = j; 8 } 9 } 10 if (i...

    在Eclipse中使用JUnit4进行单元测试

    首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。这个类并不是很完美,我们故意保留了一些Bug用于演示,这些Bug在注释...

    junit3个安装包

    junit单元测试jar包。

    junit5.rar包含JUnit Platform + JUnit Jupiter + JUnit Vintage依赖jar包

    JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage,包含依赖包:junit-jupiter-5.5.1.jar,junit-jupiter-engine-5.5.1.jar,junit-jupiter-params-5.5.1.jar,junit-platform-launcher-1.5.1.jar,junit-...

    Junit单元测试所需要的两个jar包

    1 Junit是什么 JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。 2 单元测试概念 单元:在Java中,一个类就是一个...

    Junit4使用方法

    Junit4使用方法

    JUnit in Action 3nd Edition

    JUnit in Action 3nd Edition

    junit4.1 junit4.1

    junit4.1junit4.1junit4.1junit4.1junit4.1

    junit4.9.jar 最新版本

    @BeforeClass:在所有测试方法执行前执行,只执行一次 ,且必须为static void,一般用于初始化一些共享的实例或加载共享的资源 @AfterClass:在所有测试方法执行后执行,只执行一次,且必须为static void,一般用于...

    junit的jar包

    org.junit.internal.builders.JUnit3Builder.class org.junit.internal.builders.JUnit4Builder.class org.junit.internal.builders.NullBuilder.class org.junit.internal.builders.SuiteMethodBuilder.class org....

    JUNIT介绍JUNIT介绍

    JUNIT介绍.JUNIT介绍.JUNIT介绍.JUNIT介绍.

    JUnit API JUnit API

    JUnit API JUnit API JUnit API JUnit API JUnit API

    w3cschool-JUnit.pdf

    学编程,从w3cschool开始!在 w3school,你可以找到你所需要的所有的网站建设教程。这是w3cschool最新JUnit教程的pdf文档。

    Junit单元测试文档

    junit3 junit4 api,单元测试的利器

    junit(单元测试)入门

    ④保证这两种方法都使用public static void 修饰,且不能带任何参数 ★ 测试用例:Test Case:有了夹具就可以开始编写测试用例的测试方法了,当然也可以不需要夹具。Junit4之后只要在每个测试方法标注@Test注解即可,...

Global site tag (gtag.js) - Google Analytics