0

プログラムから他の JUnit テストを開始するプログラムがあります。最初に、それが何をするかを説明します: 1. フォルダにあるプログラムを検索します 2. jar を見つけて、テスト クラスを検索します

今、そのテストクラスを実行したいのですが、これでクラスを開始すると、クラスが見つからないというエラーが表示されます:

for (String testclass: arrayList){
    Class cl = Class.forName(testclass);
    Logger.error(TestEnablerViewtool.class, "CL NAME : " + cl.getName());
    JUnitTest test = new JUnitTest(cl.getName());
    test.setTodir(new File(pathToReports));
    task.addTest(test);         
    task.execute(); 
}

そして、このコードでクラスを見つけます:

public static List<String> getClasseNamesInPackage(String jarName, String packageName){
    String s = "C:\\CMS\\CMS\\WEB-INF\\lib\\plugin-Login.jar";
    jarName = "Login";
    packageName = "test/" + jarName + "/deploy";
    ArrayList<String> arrayList = new ArrayList<String> ();
    packageName = packageName.replaceAll("\\." , "/");
    try {
            JarInputStream jarFile = new JarInputStream(new FileInputStream(s));
            JarEntry jarEntry;
            while(true) {
                jarEntry=jarFile.getNextJarEntry();         
                if(jarEntry.getName() == null) {
                    break;
                }
                if((jarEntry.getName().startsWith (packageName)) &&
                        (jarEntry.getName().endsWith (".class")) ) {
                    arrayList.add(jarEntry.getName().replaceAll("/", "\\."));
                }
            }
    }
    catch( Exception e){
        e.printStackTrace ();
    }
    return arrayList;
}

質問が明確であることを願っています..

4

0 に答える 0