Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从另一个java类运行测试类_Java_Gradle_Testng_Hudson - Fatal编程技术网

如何从另一个java类运行测试类

如何从另一个java类运行测试类,java,gradle,testng,hudson,Java,Gradle,Testng,Hudson,我有3个java测试类。 1.ListenerTest1.java 2.ListenerTest2.java 3.ListenerMain.java 上面两个testfixture类,即ListenerTest1.java和ListenerTest2.java,都有测试方法。 另外,将build.gradle文件设置为:- task automationTests(type: Test) { systemProperty 'serviceType', System.properties

我有3个java测试类。 1.ListenerTest1.java 2.ListenerTest2.java 3.ListenerMain.java

上面两个testfixture类,即ListenerTest1.java和ListenerTest2.java,都有测试方法。 另外,将build.gradle文件设置为:-

task automationTests(type: Test) {

    systemProperty 'serviceType', System.properties['serviceType']


    useTestNG {
        useDefaultListeners = true
        suiteXmlBuilder().suite(name: 'Testing case') {
            test(name: 'ServiceUITests', annotations: 'JDK', verbose: '1') {
                classes([:]) {

                    'class'(name: 'company.platform.ListenerMain')

                }
            }
        }
    }
}
因此,在运行我的hudson作业时,它调用任务,即automationTests,并运行我的ListenerMain类。 我需要在ListenerMain类文件中添加if/else条件,它将根据hudson作业中添加的System.property来区分运行上述两个类中的任何一个,即ListenerTest1.java或ListenerTest2.java

例如

根据if/else条件加载类需要添加哪些代码?
如果需要,我可以在ListenerMain类中添加main方法

您可以在if/else代码中添加以下代码。在
runClasses
方法中,您可以指定测试类

Result result = JUnitCore.runClasses(ListenerTest1.class);

TestNG中有两个选项:

  • 实施一项计划
  • 使用

  • 您的注释转换器将测试该条件,然后在不满足该条件的情况下覆盖@test注释以添加属性“enabled=false”。

    参考此信息您可以共享ListenerTest1和ListenerTest2吗?它们实现了什么接口?两个类中都没有使用接口。它是一个简单的TestFixture类,由使用TestNg注释的测试用例(测试方法)组成。@Jobin:JUnitCore在我使用TestNg时对我有用吗?请参考此URL。。如果我使用TestNg,这将有助于解释为什么使用JUnitCore?TestNg是按照JUnit和NUnit的思路开发的一个测试框架,我认为你可以使用JUnitCore实现这一目的。如前所述,我有两个不同的类,即ListenerTest1和ListenerTest2,所以我需要从ListenerMain类调用整个类。我认为如果一个类由不同的组和方法组成,上面的链接会有所帮助。
    Result result = JUnitCore.runClasses(ListenerTest1.class);