java - Mockito/GWT : mocked view's widgets are null

标签 java gwt mockito uibinder

我有一个包含列表框的 View (GWT MVP 模式)。 我使用 @Mock MyView View 创建了一个测试用例然后在一个测试中我希望能够使用以下方法来控制列表框对象:

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

这将返回 null。

我遵循了本教程:http://code.google.com/p/gwt-test-utils/wiki/SimpleUnitTest使用相同的方式。

我看到的唯一区别是我使用的是 UIBinder,但是我读过的内容应该支持它。

谢谢!

最佳答案

您正在使用模拟,当然未设置字段。使用模拟时,您必须考虑交互,而不是状态。 (实际上,对于像mockito、powermock、easymock等生成的模拟来说,这种说法是正确的。)

维基链接示例不使用模拟,它们显示真实的对象!

我认为您会对 spy 更感兴趣。您可以使用@Spy。 在mockito 1.9.0中你可以这样写:

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

或者如果 MyView 有默认构造函数

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

有关更多信息,请查看javadoc .

希望有帮助。

关于java - Mockito/GWT : mocked view's widgets are null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9418085/

相关文章:

java - GWT。以编程方式触发 ListBox 上的 ChangeEvent。

java - 如何在Spring Boot中用自己的mock替换BeanFactory中的bean?

java - 在 App Engine 上托管应用程序服务器?

java - java中基于字符的字符串分割操作

java - GWT 2 : how can I add Button to the CellTable's header?

css - GWT 中的条件 CSS

java - GWT-Ext 中的 ThemeChanger

java - 带有 Powermockito 的 TestNG 静态方法失败

java - 将 Mockito 与 Java11 一起使用时出现异常

java - 通过 JSON 和 PHP 发送电子邮件后出现 NullpointerException