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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何為沒有 getter 方法的 setter 方法編寫單元測試?

如何為沒有 getter 方法的 setter 方法編寫單元測試?

繁花不似錦 2024-01-05 17:03:30
我有一堂課看起來像這樣public class Assignment {   protected String AssName;   public void SetAssSpec(String theSpec){     this.AssSpec = theSpec;   }}這是我的測試課程class AssignmentTest {   @Test   void testSetAssSpec(){       String assignmentName = "CSE101";       Assignment cseAssigment = new Assignment();       cseAssigment.SetAssSpec(String assignmentName);       //Now what?   }} 因為沒有g(shù)etter方法。訪問集合字符串的另一種方法是,cseAssigment.AssName但問題是 AssName 受到保護,所以我無法訪問它。我將如何測試它?我是測試和 Junit 的新手。那么,請告訴我這是否有意義?
查看完整描述

4 回答

?
絕地?zé)o雙

TA貢獻1946條經(jīng)驗 獲得超4個贊

此示例中的問題是它沒有顯示設(shè)置值后如何使用該值。這就是如何測試它的線索。

如果不使用,則 setter 就沒用,也應(yīng)該刪除。

它是受保護的,所以我猜有一個子類正在使用它。在這種情況下,我將使用測試子類的方法。

如果通過反射使用,我也會通過反射來測試它。


查看完整回答
反對 回復(fù) 2024-01-05
?
qq_花開花謝_0

TA貢獻1835條經(jīng)驗 獲得超7個贊

您可以聲明一個具有 getter 的本地子類:


@Test

void testSetAssSpec(){

? ?class SubAssigment extends Assignment {

? ? ?String getter() { return AssName; }

? ?}


? ?String assignmentName = "CSE101";

? ?SubAssigment cseAssigment = new SubAssigment();

? ?cseAssigment.SetAssSpec(String assignmentName);


? ?assertEquals(assignmentName, cseAssignment.getter());

}

您可能并不真正需要測試 Java 分配是否有效。



查看完整回答
反對 回復(fù) 2024-01-05
?
HUX布斯

TA貢獻1876條經(jīng)驗 獲得超6個贊

測試 getter 方法可能有些過頭了,但是如果您想在沒有 getter 的情況下檢查/測試對象中私有變量的值,您可以使用反射


Field f = obj.getClass().getDeclaredField("AssName"); //NoSuchFieldException

f.setAccessible(true);

String assignmentName = (String) f.get(obj); 


查看完整回答
反對 回復(fù) 2024-01-05
?
胡說叔叔

TA貢獻1804條經(jīng)驗 獲得超8個贊

String assignmentName = "CSE101";

Assignment cseAssigment = new Assignment();

cseAssigment.SetAssSpec(String assignmentName);

assertEquals(AssSpec ,ReflectionTestUtils.getField(cseAssigment, "AssSpec"));


查看完整回答
反對 回復(fù) 2024-01-05
  • 4 回答
  • 0 關(guān)注
  • 286 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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