单元测试套件类,遍历当前包下的所有单元测试类并运行
2008-07-13 15:15
141 查看
package test; import java.io.File;import junit.framework.Test;import junit.framework.TestCase;import junit.framework.TestSuite; /** * 单元测试套件类,获取当前包下的所有单元测试类并运行 * * @author phrash * */public class AllTests{ /** 包名 */ private static String pkgName = AllTests.class.getPackage().getName(); /** 测试套件 */ private static TestSuite suite = new TestSuite(); public static Test suite() { // 将包名转化为路径,这里也可以具体指明是某个路径 String rPath = pkgName.replace('.', '/') + "/"; // 遍历文件夹下所有文件,并将java文件转化为Class refreshFileList(rPath, pkgName); return suite; } /** * 递归获取目录下的class * * @param strPath * @param newPkgName */ public static void refreshFileList(String strPath, String newPkgName) { // 获取目录 File dir = new File(strPath); // 获取目录下所有文件和目录 File[] files = dir.listFiles(); if (files == null) { return; } for (int i = 0; i < files.length; i++) { // 文件名 String fileName = files[i].getName(); // 递归 if (files[i].isDirectory()) { refreshFileList(files[i].getAbsolutePath(), newPkgName + "." + fileName); } // 判断是不是java文件 else if (-1 != fileName.lastIndexOf(".java")) { // 去掉文件名的文件类型后缀 String clsName = fileName.substring(0, fileName .lastIndexOf(".")); clsName = newPkgName + "." + clsName; try { // 临时Class Class tempClass = Class.forName(clsName); // 如果不是测试类则continue if (!isTestCase(tempClass)) { continue; } // 将得到的Class放入suite中 suite.addTestSuite(tempClass); } catch (ClassNotFoundException e) { e.printStackTrace(); } } } } /** * 判断是不是测试类 * * @param tempClass * @return boolean */ private static boolean isTestCase(Class tempClass) { // 如果该类的父类是TestCase,则说明是测试类 if ((tempClass.getSuperclass()).equals(TestCase.class)) { return true; } return false; }}
相关文章推荐
- 用java遍历所有当前运行环境
- ASP.NET中的状态管理 在代码隐藏中遍历当前页的所有控件
- [Windows Mobile 6.x] 如何获得当前运行的所有进程
- 遍历当前目录下并输出所有文件
- JUnit单元测试入门(四)--JUnit运行测试套件
- Shell编程:在当前目录下遍历所有文件和子目录及子目录下的文件
- Java 多线程编程之四:获取 Java VM 中当前运行的所有线程
- cocos2dx 遍历当前Scene下的所有节点
- C#列出当前系统所有正在运行程序的方法
- 获取当前运行的fsMDIChild窗口和所有fsMDIChild窗体
- VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。 VMware Authorization Service 当前未运行
- 遍历当前目录下所有的.h文件,并将其路径保存到文件中
- javaIO流的应用1--遍历当前目录下的所有文件
- 【IDE-Visual Studio】VS2010:查看Windows系统当前的运行的所有程序
- 在Windows Mobile和Wince(Windows Embedded CE)下进行Win32开发,取出当前所有运行中进程信息的方法
- 加载内核模块,实现新的系统调用:遍历系统当前所有进程的任务描述符,并将pid组织成树状结构显示
- 列举当前运行的所有进程
- [SoapUI] 获取Cookie,并循环遍历当前Project下所有的Test Suite,Test Case,Test Step,将Cookie传递给这些Test Step
- 遍历当前窗体下的所有控件
- Linux目录遍历实现 -- 列出当前目录下所有文件