0

Jemmy http://java.net/projects/jemmyで複数のテスト クラスを起動する方法。そのようなコードを使用しようとしましたが、うまくいきません。1 つのテストのみを起動します。

public class Controller {
    public static void main(String[] args) {
        try {
            Class[] testClasses=AllClassesInPackageFinder.getClasses("test");//finds all classes in package with test.
            String[] classFullNames= new String[testClasses.length];
            for (int i=0; i<testClasses.length; i++){
                classFullNames[i]=testClasses[i].getName();
            }
            org.netbeans.jemmy.Test.main(classFullNames);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        } catch (IOException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
    }
}
4

2 に答える 2

0

テストの順序とどのテストを実行するかを定義する「Suite」という別のクラスを作成すると、それを行うことができます。ここに例があります:

public class Suite {

public static Test suite() {
    NbModuleSuite.Configuration conf = NbModuleSuite.emptyConfiguration().
            addTest(CreateNewProjectTest.class, "testCreateProject").
            addTest(AddingElementsTest.class, "testOpenExistingProject", "testOpenTestcase",
                    "testAddElement1", "testAddElement2", "testAddElement3", "testPressOk").
            addTest(OtherClassWithSomeTest.class, "test1", "test2", "test3",
                    "test4", "test5", "test6", "test7", "test8");

    return conf.clusters(".*").enableModules(".*").honorAutoloadEager(true).suite();
}

}

ご覧のとおり、クラスの順序を定義でき (最初に追加されたものが最初に実行されます)、すべてのクラス内で各メソッドの順序も定義できます。

于 2015-03-09T15:13:09.343 に答える
0

テストの実行に使用する必要があるのは、JUnit や TestNG などのテスト ハーネスです。

Jemmy 自体はテスト ハーネスではありません。

于 2012-05-15T12:46:25.947 に答える