5

我正在尝试在 GWT 项目中设置和使用 Mockito,但在客户端(在 javascript 中)使用它时遇到问题。我试图添加一个模块并包含 Mockito,但它似乎不起作用(很多错误)。我还尝试从 svn 进行完整的结帐并以这种方式集成 GWT,同样的错误。这应该怎么做?谢谢。

4

3 回答 3

4

使用模拟框架(如 Mockito)测试的 GWT 代码在 JVM 中运行,显然不编译为 JavaScript。因此,任何与 JavaScript 相关的实现都应该使用模拟对象进行模拟或存根。

在 GWT 中得到广泛采用并简化测试的一种架构是 MVP(MVC 的变体)。MVP 将大部分有意义的功能放在称为 Presenter 的类中。Presenters 不依赖于 GWT 实现类,而是依赖于 GWT 接口(大部分)。然后将 Mockito 应用于模拟/存根这些接口以对演示者类进行单元测试。

这个博客充满了 GWT 中的 MVP 和使用模拟对象进行测试 (EasyMock) 的示例。

于 2009-12-05T06:05:56.580 回答
1

现在有https://github.com/google/gwtmockito这可能是你需要的。

于 2013-06-03T04:08:35.390 回答
0

如果没有更多细节,我只能说模拟框架大量使用了动态代理和运行时代码生成,这些代码不会被 GWT 编译。

您最好的选择是在普通的 JUnit 测试中使用这些模拟。

于 2009-09-20T19:11:37.490 回答