【发布时间】:2018-02-28 22:45:21
【问题描述】:
我的要求是对输入文件中给出的数据运行测试。为了实现,我正在使用
@DataBinding [net.sf.testng.databinding.DataBinding]
但我在运行时遇到问题
错误:
跳过:数据绑定测试 org.testng.TestNGException: 方法 databindingTest 需要 1 个参数,但在 @Test 注释。在 org.testng.internal.Parameters.checkParameterTypes(Parameters.java:191) 在 org.testng.internal.Parameters.createParameters(Parameters.java:127) 在 org.testng.internal.Parameters.createParameters(Parameters.java:376) 在 org.testng.internal.Parameters.handleParameters(Parameters.java:451) 在 org.testng.internal.Invoker.handleParameters(Invoker.java:1276) 在 org.testng.internal.Invoker.createParameters(Invoker.java:992) 在 org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1082) atorg.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124) 在 org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) 在 org.testng.TestRunner.privateRun(TestRunner.java:773) 在 org.testng.TestRunner.run(TestRunner.java:623) 在 org.testng.SuiteRunner.runTest(SuiteRunner.java:357) 在 org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352) 在 org.testng.SuiteRunner.privateRun(SuiteRunner.java:310) 在 org.testng.SuiteRunner.run(SuiteRunner.java:259) 在 org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 在 org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 在 org.testng.TestNG.runSuitesSequentially(TestNG.java:1185) 在 org.testng.TestNG.runSuitesLocally(TestNG.java:1110) 在 org.testng.TestNG.run(TestNG.java:1018) 在 org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114) 在 org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) 在 org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
下面是创建的属性文件:
databindingTest.dataSource=json
databindingTest.url=/data/test/availabilityCheck.json
下面是在位置创建的Json文件
/data/test/availabilityCheck.json in Resource folder
[{"testInput":
{ "Id": "92901225" }
}]
Test Class :
package com.temp.databinding;
import org.testng.annotations.Test;
import net.sf.testng.databinding.DataBinding;
import net.sf.testng.databinding.TestInput;
public class validateDataBinding {
@DataBinding
@Test
public void databindingTest(@TestInput(name = "Id") String skuId) {
// TODO Auto-generated method stub
System.out.println("@TestInput(name = \"skuId\") String skuId :: "+skuId );
}
}
请帮助确定我做错了什么。
【问题讨论】:
-
您尝试过哪些替代方案?通过在互联网上研究问题,您学到了什么?您尝试过哪些潜在的互联网解决方案,结果如何?
-
我已经尝试过 @DataProvider ,这给了我预期的结果。但这里的事情是我必须编写额外的代码来读取数据并传递给测试。 @DataProvider(name = "getinputdata")
标签: java data-binding testng