測試get方法我在我的控制器中的財產,我想測試:我怎麼能在我的控制器
public List<SelectOption> exampleProperty {
get {
//Do something;
}
}
我不知道如何覆蓋在我的測試類的代碼。有任何想法嗎?
測試get方法我在我的控制器中的財產,我想測試:我怎麼能在我的控制器
public List<SelectOption> exampleProperty {
get {
//Do something;
}
}
我不知道如何覆蓋在我的測試類的代碼。有任何想法嗎?
有直接的方式,剛剛從測試方法
List<SelectOption> temp = obj.method;
首先,你真的想要一個名爲「方法」的屬性?看起來很混亂。無論如何,要覆蓋代碼,只需撥打電話
someObject.get(method);
但代碼覆蓋率應該是編寫好測試的副作用 - 而不是目標。你應該考慮代碼應該做什麼,並編寫測試來檢查(即斷言)它正在工作。爲使代碼效率和可讀性智能模式 -
您可能需要直接測試性能,特別是如果你使用lazy initialization調用屬性。
下面是這個模式的列表例如:
Integer[] lotteryNumbers {
get {
if (lotteryNumbers == null) {
lotteryNumbers = new Integer[]{};
}
return lotteryNumbers;
}
set;
}
如果你想要的圖案全覆蓋(這可能是一個好主意,當你習慣了它),你需要做的事情像下面這樣:
static testMethod void lotteryNumberFactoryText() {
// test the null case
System.assert(lotteryNumbers.size() == 0);
Integer[] luckyNumbers = new Integer[]{33,8};
lotteryNumbers.addAll(luckyNumbers);
// test the not null case
System.assert(lotteryNumbers == luckyNumbers);
}
這是非常樂觀的:)那我怎麼開始爲好,然後在每一個部署開始服用10分鐘,運行所有「適當」測試你開始改變策略,開始瞄準了必要的覆蓋面:) – mmix 2012-03-02 10:49:40
哈哈..這是真的...一些我工作的顧問堅持獲得最大覆蓋範圍。關於作爲方法的名稱是一個監督..當我鍵入代碼 – Prady 2012-03-02 14:26:03