簡體   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