当前位置:  开发笔记 > 编程语言 > 正文

是否可以从Eclipse中的多个包运行JUnit测试?

如何解决《是否可以从Eclipse中的多个包运行JUnit测试?》经验,为你挑选了3个好方法。

是否可以同时为多个包运行JUnit测试,而无需手动创建测试套件.

例如,如果我有层次结构:

code.branchone
code.branchone.aaa
code.branchone.bbb
code.branchtwo
code.branchtwo.aaa
code.branchtwo.bbb

是否有可能:

    在code.branchone和后代包中运行所有测试

    运行所有测试,例如code.branchone.aaa和code.branchtwo.bbb

我在手动创建测试套件时遇到的问题是,当新测试出现时,您可能会忘记添加它们.



1> span..:

对的,这是可能的.对我来说最简单的方法是添加一个测试套件类.它看起来像这样:

package tests;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

import tests.message.ATest;
import tests.validator.BTest;
import tests.validator.CTest;
import tests.validator.DTest;

@RunWith(Suite.class)
@SuiteClasses({ ATest.class, 
        BTest.class, 
        CTest.class, 
        DTest.class })
public class AllTests {

}

这将允许您测试您导入的任何类,无论它在哪个包中.要在eclipse中运行它,只需右键单击AllTests类并将其作为JUnit测试运行.然后它将运行您定义的所有测试@SuiteClasses.

这也适用于链接源,我一直使用它.


我不认为有一种方法可以使用包名称或通配符`@ SuiteClasses`,是吗?我见过http://johanneslink.net/projects/cpsuite.jsp,http://burtbeckwith.com/blog/?p = 52,以及http://stackoverflow.com/questions/1293880/run-all-测试在源代码树中不是一个包,但没有一个像我希望的那样完美.

2> jhegedus..:

其他方式:

单击下图中红色矩形表示的黑色三角形(在Eclipse中,不在此处:).)

在此输入图像描述

然后打开运行配置,创建一个新配置,然后设置"运行所有测试...",如下图所示.

在此输入图像描述


仅在src(类路径的根)上,它将运行项目的所有单元测试.如果在特定包上选择它,它只在所选包本身内运行测试,而不是从子包中进行测试.

3> icyerasor..:

也许不完全是原始问题,但只需右键单击项目 - > Run As JUnitTest ,即可轻松运行整个项目的所有测试.不要担心带注释的类所在的位置,这将被扫描.

如果应用于test-src-folder或带有子包的包,则不起作用.真的很遗憾-.-

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有