TestNg DataBinding:无法使用数据绑定传递参数进行测试

时间:2018-02-28 22:45:22

标签: java data-binding testng

我的要求是对输入文件中给出的数据运行测试。要实现,我正在使用

@DataBinding [net.sf.testng.databinding.DataBinding] 

但我在运行时遇到问题

错误:

  

SKIPPED:databindingTest       org.testng.TestNGException:       方法数据绑定测试需要1个参数,但是提供了0个参数       @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)     at org.testng.internal.Invoker.handleParameters(Invoker.java:1276)     在org.testng.internal.Invoker.createParameters(Invoker.java:992)at   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)at   org.testng.TestRunner.run(TestRunner.java:623)at   org.testng.SuiteRunner.runTest(SuiteRunner.java:357)at   org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352)at at   org.testng.SuiteRunner.privateRun(SuiteRunner.java:310)at at   org.testng.SuiteRunner.run(SuiteRunner.java:259)at   org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)at   org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)at   org.testng.TestNG.runSuitesSequentially(TestNG.java:1185)at at   org.testng.TestNG.runSuitesLocally(TestNG.java:1110)at at   org.testng.TestNG.run(TestNG.java:1018)at   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 );
    }

}

请帮助确定我在做什么错误。

1 个答案:

答案 0 :(得分:0)

感谢您使用TestNG DataBinding。我是那个图书馆的作者。不幸的是,目前没有json数据源可用。您可以使用任何现有数据源(csv,属性,文本和xml),也可以自己实现json数据源插件,并将其作为Maven工件提供给社区。让我知道,如果您决定这样做。

最好的问候, 马特