[英]EasyMock: How to mock map of Objects
我是EasyMock的新手,曾嘗試搜索解決我的問題的方法,但找不到。 我有一個“學生”類,它具有幾個屬性,其中一個是“ student_id”,它具有所有的setter和getter方法。 我編寫了這樣的函數,該函數將Student Map對象作為鍵,值是其CGPA,它返回一個CGPA排名前5位的Map。
Map<Student,Double> getMaxCPAStudent(Map<Student,Double>)
在我的測試課中,我寫道:
control = EasyMock.createControl();
mockStudent = control.createMock(Student.class);
但是,當將它們以不同的分數放入Map中時,它們都將具有相同的鍵,如何測試此功能?
謝謝阿米特
我認為EasyMock在其模擬中覆蓋hashcode()
和equals()
,因此創建多個模擬學生永遠不會擁有相同的哈希。 這意味着您應該可以將它們全部放入地圖中。
因此,與使用這種方法編寫生產代碼相比,您的測試代碼應該沒有什么不同。 創建一些模擬學生,將其放入Map中,然后調用max方法以獲取新的Map,並檢查鍵和值是否正確。
稍微偏離主題,除非您使用的是Easymock的古代版本,否則您永遠不必處理MockControl類。
Student mockStudent = EasyMock.createMock(Student.class);
應該工作正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.