第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Java不好的做法:將return語句添加到僅用于測(cè)試的方法?

Java不好的做法:將return語句添加到僅用于測(cè)試的方法?

僅出于測(cè)試方法而不在實(shí)際代碼本身中使用它的目的而添加 return 語句是不好的做法嗎?作為一個(gè)示例,我正在測(cè)試一個(gè) read 方法,然后是一系列方法,這些方法最終創(chuàng)建了一個(gè)對(duì)象,該對(duì)象的屬性從它正在讀取的文件的行中吸收。據(jù)我了解,可以使用 Mockito 測(cè)試讀取方法,而無需添加返回語句?;蛘呖梢詼y(cè)試是否readPerLine調(diào)用了另一種方法 ( ),但我還沒有找到合適的測(cè)試程序來做到這一點(diǎn)。如果使用正確的編碼程序,這兩個(gè)選項(xiàng)可能意味著我的一般問題不相關(guān),如果是,請(qǐng)告訴我。然而,目前以下兩個(gè)選項(xiàng)似乎是測(cè)試(部分)讀取方法的最簡(jiǎn)單方法:添加一個(gè) return 語句,其中包含該方法讀入的行數(shù)組,該語句在方法結(jié)束時(shí)執(zhí)行。通過測(cè)量對(duì)象的屬性是否正確來測(cè)試讀取方法和創(chuàng)建對(duì)象的后續(xù)方法的組合。并通過單獨(dú)測(cè)試后續(xù)方法。這不是首選,因?yàn)殡p重錯(cuò)誤,讀取方法中的 1 和后續(xù)方法的概念設(shè)計(jì)中的 1 可能會(huì)在此測(cè)試期間抵消,但會(huì)導(dǎo)致讀取壽命錯(cuò)誤。修改 (read) 方法,使其返回一個(gè)行數(shù)組,該數(shù)組從 Main 傳遞給后續(xù)方法。我目前編寫的 read 方法的示例代碼:public void readFile(String filename) {        FileReader reader;        BufferedReader br;        String line = null;        try {                   br = new BufferedReader(new FileReader(filename));            while ((line = br.readLine()) != null) {                readPerLine(line); //converts line into properties for an object.            }              br.close();        } catch (FileNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }所以我還沒有解決下面的困境;我知道有時(shí)您需要重寫您的方法以進(jìn)行測(cè)試。但我不知道添加功能,例如實(shí)際代碼未使用但僅用于測(cè)試的返回語句,是好還是壞的做法。另外,如果我這樣做,我仍然沒有完全測(cè)試讀取方法,調(diào)用另一個(gè)方法仍然沒有測(cè)試?;蛘撸绻沂紫葢?yīng)用適當(dāng)?shù)亩Y儀,是否根本不應(yīng)該出現(xiàn)這種困境。
查看完整描述

1 回答

?
三國(guó)紛爭(zhēng)

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊

我建議不要在方法中添加 return 語句來啟用測(cè)試,而是重新設(shè)計(jì)方法以分離一些功能。

我認(rèn)為問題出在這里:

readPerLine(line); //converts line into properties for an object.

也許你在這種方法上做得太多了。您可以將其分解為幾種不同的方法,例如:

  1. 讀取該行以獲取一個(gè) String 數(shù)組

  2. 將字符串轉(zhuǎn)換為正確的數(shù)據(jù)類型

  3. 構(gòu)建你的對(duì)象并設(shè)置它的屬性

如果您這樣做,您可以檢查每個(gè)步驟的功能并為每個(gè)步驟進(jìn)行測(cè)試。在測(cè)試 main 方法readFile(String filename)時(shí),您可以使用 Mokito 檢查是否使用正確的參數(shù)調(diào)用了每個(gè)方法


查看完整回答
反對(duì) 回復(fù) 2022-06-04
  • 1 回答
  • 0 關(guān)注
  • 94 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)