1
我寫的測試使用了EasyMock,我創建瞭如下mock對象爲我的測試,EasyMock的失蹤行爲定義
auditor = createMock(Auditor.class);
auditor.start(isA(Audit.class)); //record
replay(auditor);
expect(auditor.getAudit("my-process")).andReturn(null);
replay(auditor);
審計類有一個方法「開始(Audit.class)」,我錄了第一,然後將其他方法'getAudit()'存根,然後重播它們。然而它抱怨說:從以前的調用開始(isA(Audit.class))缺少行爲定義,我在這裏做錯了什麼?謝謝,
'isA'匹配器告訴期望該方法將被一個Audit.class類型的對象調用。從你對start方法的描述中,它需要一個類型爲Audit的類,而不是一個對象。所以我想你想把'isA'改成'eq'。此外,你可以嘗試使用捕獲,然後檢查捕獲的對象的類,如[這個答案](http://stackoverflow.com/questions/9467049/easymock-matcher-for-class-data-type) –