2012-02-23 38 views
1

我得到了一個包含列表框的視圖(GWT MVP模式)。 我在一個測試中創建使用@Mock MyView view測試用例然後,我希望能夠有一個手使用列表框對象:Mockito/GWT:模擬視圖的小部件爲空

ListBox listBox = GwtReflectionUtils.getPrivateFieldValue(view, "tableListBox"); 

返回null。

我跟着本教程:http://code.google.com/p/gwt-test-utils/wiki/SimpleUnitTest它們使用相同的方式。

我看到的唯一區別是我使用的UIBinder,但它應該從我讀過的支持。

謝謝!

回答

1

你正在使用模擬,當然字段沒有設置。當與嘲笑工作,你必須考慮交互,而不是狀態。 (其實這種說法對於mockito,powermock,easymock等生成的模擬是真實的)

維基鏈接示例不使用mock,它們顯示真實的對象!

我想你會對間諜更感興趣。你可以使用@Spy。 在1.9.0的Mockito,你可以寫:

@Spy MyView view = new MyView(paramA, paramB); 

,或者如果MyView的具有默認的構造函數

@Spy MyView view = new MyView(); 
@Spy MyView view; // equivalent, mockito will call the default constructor 

欲瞭解更多信息,看一看的javadoc

希望有所幫助。

+0

謝謝,這就是我失蹤! – 2012-02-24 08:12:31

+0

歡迎您:) – Brice 2012-02-24 09:21:12