2012-04-23 120 views
0

我正在尝试使用Mockito来测试我的GWTP应用程序。使用Mockito进行GWTP单元测试

我想模拟我的View,Proxy,Placemanager和eventbus。 我试过使用 @Mock AbcView abc;

和Abcview abc = Mockito.mock(AbcView.class);

但是每次模拟视图都被实例化为null。 我该如何解决这个问题? 一旦视图被嘲弄,我将能够继续测试我的演示者类,因为演示者的构造函数具有以下代码: getView()。setUiHandlers(this);

所以直到视图被正确实例化为空指针异常被抛出。

回答

0

您是否使用跑步者MockitoJUnitRunner运行测试?

+0

或者运行静态方法:'MockitoAnnotations.initMocks()' – 2012-04-23 20:32:37

+0

@Sydney:我确实使用MockitoJunitRunner运行测试。 – Anish 2012-04-24 06:04:30

+0

尝试运行我发布的ExampleTest,以查看是否一切正常,并通过简单的测试。 – Sydney 2012-04-24 10:02:23

0

除了@悉尼的响应,还需要Ø确保AbcView.class是不是最终的。我忘记了最终的类是否会导致null或运行时错误,但这可能会导致某种意外行为 - 这种或那种方式,嘲笑不起作用。如果这个类不是最终的,你需要确保你在这个模拟中存储的任何方法都不是最终的。

+0

这两个类和方法都不是最终的 – Anish 2012-04-24 06:05:56

+0

尝试包括一些简单的代码片段,如果您有一个,测试方法,一般对象定义和可用的演示者构造函数,肯定会包含@Setup。哦,你正在使用什么版本的mockito。最新版本支持构造函数注入,但早期版本不支持。 – 2012-04-24 17:48:54

+0

我正在使用Mockito 1.9.0。我忘记提到的一件事是我用GWTTestCase扩展我的Testclas,所以我使用gwtSetup方法来做测试设置。这会有什么不同吗?我想我的测试只是GWTJunit测试用例。 – Anish 2012-04-25 06:11:38