繁体   English   中英

使用相同数据调用方法时出错(总是生成新数据)

[英]Error calling method using same data (new data is always generated)

我有以下问题要解决,你能帮帮我吗?

我在 class 中有两种方法。 第一个生成一个文档(调用另一个类)并将其存储在一个字符串中。

第二个我想保存这个文档编号,以便在其他方法和其他类中使用,以使文档与最初生成的文档相同。 也就是说,不要生成不同的文档。 我没有得到... = //

一个 class 中的第一个方法(生成文档,调用另一个类的方法):

public class oneClass {
private String cpf;
private String document() {
        if (this.cpf == null) {
            this.cpf = incluiDocumento.cpf(false);
        } else {
        }
        return this.cpf;
    }

    public void one() {
        System.out.println(document());
        System.out.println(document());
        System.out.println(document());
    }

    public void two() {
        System.out.println(document());
    }
}

第二个 class:

@Test
 public void testDocuments() {
     new oneClass().one();
     new oneClass().two();
 }

结论:我可以生成我的文档并将其存储在一个字符串中。 但是,在接下来的方法和类中,我永远无法使用生成的第一个文档。 它总是会生成新的文档。

如何生成文档并将其存储以用于测试并验证它?

工具: Selenium Webdriver,Java。

提前致谢!!!

在这种情况下,您可能会使用这种方法:

public class OneClass{    
    private String cpf;
    //...
    public String document() {
        if(this.cpf==null){
            this.cpf = document.cpf(false);
        }
        return this.cpf; 
    }
    //... method one() and two()
}

该文档仅创建一次并保存在 class 变量中。 之后的任何调用都将返回保存的文档。

所以第二种方法总是会生成第一个文档。

编辑:

并像下面这样测试它:

@Test
public void testDocuments() {
     OneClass oneClass = new OneClass();
     oneClass.one();
     oneClass.two();
}

我将您的 class 的名称从oneClassOneClass因为在 Java class 名称以大写字母开头。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM