TestNG:你能使用自定义Junit Runners吗?

时间:2017-08-02 18:24:15

标签: java junit testng

在TestNG中运行junit测试时,是否可以使用自定义junit运行程序?我认为TestNG运行的org.junit.runner.JUnitCore能够注意到我的@Runwith(customRunner.class)注释并使用适当的运行器进行测试。任何人都可以确认TestNG是否支持使用@Runwith(customRunner.class)进行junit测试?有没有办法让我的团队让TestNG知道可以使用自定义junit跑步者?

我尝试了以下操作。

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="suite_name">    
    <test name="test_name" junit="true">
        <classes>
           <class name="class.name.of.test" />
        </classes>
    </test>
</suite>

在我的套件文件中,我有以下内容

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="all_tests">
    <suite-files>
        <suite-file path="testng_tests.xml">
        <suite-file path="junit_tests.xml">
    </suite-files>
</suite>

但是当我在junit测试中使用@Runwith时,我似乎得到了非常奇怪的错误。

@RunWith(RestPactRunner.class)
@Provider("provider")
@PactBroker(host = "someip", port="someport")
public class PactContractTest {

    @TestTarget
    public final HttpTarget target = new HttpTarget(...);

    @State("some state")
    public void guaranteeSomeState(){

    }
}

我收到此错误:

Method 'some super long contract description' 
not found in class 'the.actual.proper.class': 
the.actual.proper.class.some super long contract description()

我觉得有些不对劲,我认为customRunner没有运行。

0 个答案:

没有答案