代码之家  ›  专栏  ›  技术社区  ›  Deepak Prabhu

无法通过thucydidesParameterUnner从csv读取测试数据

  •  0
  • Deepak Prabhu  · 技术社区  · 6 年前

    我正在尝试打印作为csv文件输入的值。当通过JUnit运行下面的代码集并获取错误时。 有人能帮我解决这个错误并成功地打印这些值吗?

    @runwith(thucydidesParameterizedrunner.class)
    @useTestDataFrom(value=“测试数据/simple data.csv”,separator=';')
    公共类samplecsvdatadrivenscenario{
    
    私有字符串名称;
    私有字符串年龄;
    私有字符串地址;
    
    公共samplecsvdataDrivenscenario()。{
    }
    
    
    限定词
    公共字符串getQualifier()。{
    返回名称;
    }
    
    @测试
    public void data_driven()。{
    
    system.out.println(getname()+“/”+getage());
    }
    
    公共字符串getname()。{
    返回名称;
    }
    
    public void setname(字符串名称){
    this.name=名称;
    }
    
    公共字符串getage()。{
    返回年龄;
    }
    
    
    
    公共作废设置(字符串年龄){
    这个年龄=年龄;
    }
    
    公共字符串getAddress()。{
    返回地址;
    }
    
    public void setaddress(字符串地址){
    this.address=地址;
    }
    }
    < /代码> 
    
    

    请在下面找到完整的错误日志

    java.lang.nosuchMethodError:
    org.junit.runners.model.frameworkmethod.getDeclaringClass()ljava/lang/class;
    在.NET中.SereNITBYD.JUnit。RunssSernyIsRun.RunStun(SeryInit Run.java:421)
    在.NET中.SereNITBYD.JUnit。RunssSernyIsRun.RunStun(SeryInit Run.java:55)
    在org .jUnit。运行程序。PorCornNe$ 3。运行(PARCUNUNNER。Java:238)
    在.orn.jUnit。运行程序。PorCornNe$ 1。进度表(PARCUNUNNER。Java:63)
    在Org.jUnit中。运行程序。PrCorunNe.RunSt娃(PARCornunn.java:236)
    在Org.jUnit。运行程序。PARCornunn.Access 000美元(PalCununn.java:53)
    在.orn.jUnit。运行程序。PorCornNe$ 2。评估(PARCUNUNNER。Java:229)
    在Org.jUnit中。运行程序。PorcNunn.Run(PARCornunn.java:309)
    在.NET中.SereNITYBDD.JUnit。RunssSernyIngRun.Run(SernyIngal.java:252)
    在Org .JUnit。Runs.Supp.RunCube(套件,Java:127)
    在Org .JUnit。Runs.Supp.RunCube(套件,Java:26)
    在org .jUnit。运行程序。PorCornNe$ 3。运行(PARCUNUNNER。Java:238)
    在.orn.jUnit。运行程序。PorCornNe$ 1。进度表(PARCUNUNNER。Java:63)
    在Org.jUnit中。运行程序。PrCorunNe.RunSt娃(PARCornunn.java:236)
    在Org.jUnit。运行程序。PARCornunn.Access 000美元(PalCununn.java:53)
    在.orn.jUnit。运行程序。PorCornNe$ 2。评估(PARCUNUNNER。Java:229)
    在Org.jUnit中。运行程序。PorcNunn.Run(PARCornunn.java:309)
    在.NET中.SereNITBYD.JUnit。RunssSernyDealErrigeRununn.Run(SernyDealErrigeDrunn.java:206)
    在Org.Eclipse .jD.No.JuniT.Sun.JuniT4TestReal.Run(JunIT4TestRelay.java:86)
    在Org.Eclipse中。JDT。内部。JUnit。Run.TestReald.Run(TestExctudio,Java:38)
    在Org.Eclipse .jd.n.jUnit .Run.ReltTestEnunn.RunTestEngors:ReltEtTestunn.java:459)
    在Org.Eclipse .jd.n.jUnit .Run.ReltTestEnunn.RunTestEngors:ReltEtTestunn.java:678)
    在Org.Eclipse .jd.n.jUnit .Run.ReltTestEnunn.Run(ReltEtTestunn.java:382)
    在Org.Eclipse中。JDT。内部。jUnit。
    < /代码> 
    
    

    这就是我的csv文件的样子

    .

    @RunWith(ThucydidesParameterizedRunner.class)
    @UseTestDataFrom(value="test-data/simple-data.csv", separator=';')
    public class SampleCSVDataDrivenScenario {
    
    private String name;
    private String age;
    private String address;
    
    public SampleCSVDataDrivenScenario() {
    }
    
    
    @Qualifier
    public String getQualifier() {
        return name;
    }
    
    @Test
    public void data_driven() {
    
        System.out.println(getName() + "/" + getAge());
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getAge() {
        return age;
    }
    
    
    
    public void setAge(String age) {
        this.age = age;
    }
    
    public String getAddress() {
        return address;
    }
    
    public void setAddress(String address) {
        this.address = address;
    }
    }
    

    请在下面找到完整的错误日志

    java.lang.NoSuchMethodError: 
    org.junit.runners.model.FrameworkMethod.getDeclaringClass()Ljava/lang/Class;
    at net.serenitybdd.junit.runners.SerenityRunner.runChild(SerenityRunner.java:421)
    at net.serenitybdd.junit.runners.SerenityRunner.runChild(SerenityRunner.java:55)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at net.serenitybdd.junit.runners.SerenityRunner.run(SerenityRunner.java:252)
    at org.junit.runners.Suite.runChild(Suite.java:127)
    at org.junit.runners.Suite.runChild(Suite.java:26)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at net.serenitybdd.junit.runners.SerenityParameterizedRunner.run(SerenityParameterizedRunner.java:206)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
    

    enter image description here

    这就是我的csv文件的样子

    1 回复  |  直到 6 年前
        1
  •  1
  •   John Smart    6 年前

    NoSuchMethodError通常表示依赖关系冲突。您可能正在使用不兼容的JUnit版本运行测试-请确保您使用的JUnit版本与您使用的SERENITY版本兼容(SERENITY已经使用JUnit 4.12构建了一段时间)。

    推荐文章