在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没有运行。