Mockito/GWT:模拟视图的小部件为空
我有一个包含列表框的视图(GWT MVP 模式)。 我使用 @Mock MyView 视图创建了一个测试用例然后在一个测试中我希望能够使用以下方法来控制列表框对象:
ListBox listBox = GwtReflectionUtils.getPrivateFieldValue(view, "tableListBox");
这将返回 null。
我遵循了本教程:http://code.google.com/p/ gwt-test-utils/wiki/SimpleUnitTest 使用相同的方式。
我看到的唯一区别是我使用的是 UIBinder,但是我读过的内容应该支持它。
谢谢!
I got a view (GWT MVP pattern) that contains a listbox.
I created a testcase using @Mock MyView view
Then in one test I want to be able to have a hand on the list box object using :
ListBox listBox = GwtReflectionUtils.getPrivateFieldValue(view, "tableListBox");
This returns null.
I followed this tutorial : http://code.google.com/p/gwt-test-utils/wiki/SimpleUnitTest which using the same way.
The only difference I see is I'm using UIBinder, however it should be supported from what I've read.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您使用的是模拟,当然未设置字段。使用模拟时,您必须考虑交互,而不是状态。 (实际上,对于生成的模拟,如mockito、powermock、easymock等,这个说法是正确的。)
wiki链接示例不使用模拟,它们显示真实的对象!
我想你会对间谍更感兴趣。您可以使用@Spy。
在mockito 1.9.0中,您可以编写:
或者如果MyView有默认构造函数
有关更多信息,请查看javadoc.
希望有帮助。
You are using a mock, of course fields aren't set. When working with mocks you have to think about interactions, not state. (Actually this statement is true with generated mocks like those of mockito, powermock, easymock, etc.)
The wiki links examples don't use mocks, they show real objects!
I think you will be more interested by a spy. You can use @Spy.
In mockito 1.9.0 you can write :
or if MyView has default constructor
For more information take a look at the javadoc.
Hope that helps.