2
我有3個測試需要連續運行。他們在3個不同的班級文件中,並且所有3個測試都來自另一個班級的dataProviders
。我一直在使用dependsOnGroups
試圖與dataProvider
象下面這樣:當與@DataProvider結合使用時,「dependsOnGroups」不起作用
public class DataProviders {
@DataProvider(name = "Provider1")
public static provider[][] A() throws Exception {
..............
}
@DataProvider(name = "Provider2")
public static provider[][] B() throws Exception {
.................
}
@Test(groups="group1")
public class TestClass1{
@Test(dataProvider = "Provider1", dataProviderClass = DataProviders.class, enabled = true)
public void Test1(provider file) throws Exception {
...............
}
public class TestClass2{
@Test(groups="group2", dependsOnGroups="group1", dataProvider = "Provider2", dataProviderClass = DataProviders.class, enabled = true)
public void test2(provider file) throws Exception {
................
}
public class TestClass3{
@Test(dependsOnGroups="group2", dataProvider = "Provider2", dataProviderClass = DataProviders.class, enabled = true)
public void test3(provider file) throws Exception {
.................
}
我的testng.xml文件看起來像如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test name="Test">
<classes>
<class name="a.b.c.d.TestClass1" />
<class name="a.b.c.d.TestClass2" />
<class name="a.b.c.d.TestClass3" />
</classes>
</test>
</suite>
在從testng.xml
文件執行測試,只有第一個測試被執行,我也得到以下TestNG的錯誤:
org.testng.TestNGException:
Method main requires 1 parameters but 0 were supplied in the @Test annotation.
at org.testng.internal.Parameters.checkParameterTypes(Parameters.java:193)
at org.testng.internal.Parameters.createParameters(Parameters.java:129)
at org.testng.internal.Parameters.createParameters(Parameters.java:385)
at org.testng.internal.Parameters.handleParameters(Parameters.java:495)
at org.testng.internal.Invoker.handleParameters(Invoker.java:1253)
at org.testng.internal.Invoker.createParameters(Invoker.java:980)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1070)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at org.testng.TestRunner.privateRun(TestRunner.java:753)
at org.testng.TestRunner.run(TestRunner.java:607)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:368)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:363)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:321)
at org.testng.SuiteRunner.run(SuiteRunner.java:270)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1284)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1209)
at org.testng.TestNG.runSuites(TestNG.java:1124)
at org.testng.TestNG.run(TestNG.java:1096)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)
如果我把所有的測試和dataProviders
在一個Java類文件,它工作得很好。
如果從一流水平測試註釋移動組=「硫基」在TestClass1方法級別會發生什麼? – Grasshopper