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

一键跑完工程中所有单元测试的方法

    博客分类:
  • Java
 
阅读更多

研究了一下午,费话少说,直接上代码,依赖commons-io,有兴趣的朋友自己深究:

 

 

package com.carver;

import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.IOFileFilter;
import org.apache.commons.io.filefilter.TrueFileFilter;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.model.InitializationError;

@RunWith(TestAll.class)
public class TestAll extends Suite {

	public TestAll(Class<?> setupClass) throws InitializationError {
		super(setupClass, findAllTestClasses());
	}

	private static Class<?>[] findAllTestClasses() {
		File srcDir = new File(TestAll.class.getResource("/").getFile());
		Collection<File> files = FileUtils.listFiles(srcDir, new IOFileFilter() {
			public boolean accept(File file) {
				return file.getName().endsWith("Test.class");
			}

			public boolean accept(File dir, String name) {
				return true;
			}
		}, TrueFileFilter.INSTANCE);

		List<Class<?>> classList = new ArrayList<Class<?>>();
		for (File file : files) {
			String className = file.getAbsolutePath().replace(srcDir.getAbsolutePath() + File.separator, "");
			className = className.replace(File.separator, ".");
			className = className.replace(".class", "");
			try {
				classList.add(Class.forName(className));
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return classList.toArray(new Class<?>[0]);
	}

}

 

用Eclipse打开TestAll类,按Ctrl+F11,所有单元测试(不管是采用Annotation还是继承TestCase)一起来。。。

分享到:
评论

相关推荐

    python实例一键抓出PPT中的所有文字

    python实例一键抓出PPT中的所有文字python实例一键抓出PPT中的所有文字python实例一键抓出PPT中的所有文字python实例一键抓出PPT中的所有文字python实例一键抓出PPT中的所有文字python实例一键抓出PPT中的所有文字...

    Python实战示例自动办公-03 一键抓出PPT中的所有文字.zip

    Python实战自动办公-03 一键抓出PPT中的所有文字Python实战自动办公-03 一键抓出PPT中的所有文字Python实战自动办公-03 一键抓出PPT中的所有文字Python实战自动办公-03 一键抓出PPT中的所有文字Python实战自动办公-...

    一键关闭所有QQ一键关闭所有QQ

    一键关闭所有QQ一键关闭所有QQ一键关闭所有QQ

    一键网速测试

    一键网络测试,可以一键测试 PING 本地IP 网页测试

    一键关机 一键关机 一键关机 一键关机

    一键关机 一键关机 一键关机 一键关机 一键关机 一键关机

    联想工程师专用小工具 一键打开系统还原V3.15.1

    联想工程师专用小工具 一键打开系统还原V3.15.1联想工程师专用小工具 一键打开系统还原V3.15.1联想工程师专用小工具 一键打开系统还原V3.15.1联想工程师专用小工具 一键打开系统还原V3.15.1联想工程师专用小工具 ...

    联想工程师专用小工具 一键重启或关机工具V2.85.1

    联想工程师专用小工具 一键重启或关机工具V2.85.1联想工程师专用小工具 一键重启或关机工具V2.85.1联想工程师专用小工具 一键重启或关机工具V2.85.1联想工程师专用小工具 一键重启或关机工具V2.85.1联想工程师专用小...

    K3所有客户端无法登陆一键处理工具

    软件一键修改: 1. 设置应用程序服务器(2003系统也无需用安装光盘,没有设置IIS) 2. 设置com+运行环境(即组件服务中我的电脑属性里的MSDTC和COM安全设置) 3. 设置DCOM动态端口并自动添加到防火墙例外中 4. ...

    一键清空所有说说

    一键清空所有说说

    一键rec一键root

    一键rec一键root

    App一键切换url环境、一键打包_Android (Java)

    - **测试覆盖**:为环境切换和一键打包功能编写单元测试和集成测试,确保功能的稳定性和可靠性。 通过以上方法,开发者可以轻松地在Android应用中实现URL环境的一键切换,同时简化打包流程,大大提高开发和发布...

    K3服务器一键配置精灵

    金蝶K3服务器一键配置集成了多项系统安全策略的设置,能够为你节省下大量的时间,Windows2003 32位服务器,其他服务器版本未经过测试。 程序将自动关闭Windows防火墙,自动启用来宾帐户Guest并设置为空密码,其他安全...

    IDEA一键全部方法打断点,一键全部清除断点

    本方法为 java 的 main方法,直接拷贝进项目,右键运行就可以。会自动给项目下的所有java文件打断点,再次运行会清除所有断点 (目前只支持IDEA,如果有人知道Eclipse的断点信息存储位置的话请在下方留言,请多多...

    Python 自动办公- 一键抓出PPT中的所有文字 Python源码

    Python 自动办公- 一键抓出PPT中的所有文字 Python源码Python 自动办公- 一键抓出PPT中的所有文字 Python源码Python 自动办公- 一键抓出PPT中的所有文字 Python源码Python 自动办公- 一键抓出PPT中的所有文字 Python...

    一键安装所有驱动.exe

    驱动人生,一键安装所有驱动

    一键GHOST忘记密码处理方法

    保存并测试 修改完毕后,保存`gho_pass.ini`文件,并重启计算机,尝试使用一键GHOST进行操作。此时应该可以直接跳过密码验证步骤。 #### 四、注意事项 1. **备份重要数据**:在进行任何修改之前,请确保备份好...

    Delphi 10.4 中英文一键切换助手.rar

    1. **资源文件**:汉化通常需要修改或替换Delphi IDE中的资源文件,如语言DLL(动态链接库)或资源脚本文件,这些文件包含了界面上的所有文本。 2. **本地化支持**:Delphi本身就内置了强大的本地化支持,允许...

    联想工程师专用小工具 一键清理垃圾工具V2.43.1

    联想工程师专用小工具 一键清理垃圾工具V2.43.1联想工程师专用小工具 一键清理垃圾工具V2.43.1联想工程师专用小工具 一键清理垃圾工具V2.43.1联想工程师专用小工具 一键清理垃圾工具V2.43.1联想工程师专用小工具 ...

    一键关闭所有程序.VBS

    一键关闭所有程序.VBS

    一键快速平仓_下单面板_mt4_一键平仓

    描述中的"功能比较齐全,也挺好用的"表明这个一键下单面板不仅具备基本的一键平仓功能,可能还包含了其他辅助交易的特性,如自定义设置、多账户管理、风险管理工具等。这使得交易者能够在复杂多变的市场环境中做出...

Global site tag (gtag.js) - Google Analytics