Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GWT RequestFactory-如何正确初始化它?_Java_Unit Testing_Gwt_Junit_Requestfactory - Fatal编程技术网

Java GWT RequestFactory-如何正确初始化它?

Java GWT RequestFactory-如何正确初始化它?,java,unit-testing,gwt,junit,requestfactory,Java,Unit Testing,Gwt,Junit,Requestfactory,我的GWT应用程序遵循MVP模式,通过singletonEventBus和Display+Presenter在活动中绑定在一起(借助GIN): 通常,我使用GIN将特定的RequestFactory的新实例注入特定的Presenter。我的演示者有start()方法,在这里我可以传递代表活动创建的EventBus实例(ResettableEventBus) 我假设让GIN创建并注入MyRequestFactory的新实例总是安全的。但是如果我想使用RequestFactorySource对MyP

我的GWT应用程序遵循MVP模式,通过singleton
EventBus
Display
+
Presenter
活动中绑定在一起(借助GIN):

通常,我使用GIN将特定的
RequestFactory
的新实例注入特定的
Presenter
。我的演示者有
start()
方法,在这里我可以传递代表
活动创建的
EventBus
实例(
ResettableEventBus

我假设让GIN创建并注入
MyRequestFactory
的新实例总是安全的。但是如果我想使用
RequestFactorySource
MyPresenter
进行单元测试,我宁愿使用以下方法初始化
RequestFactory

requestFactory.initialize(eventBus, new InProcessRequestTransport(processor));

问题来了。我是否可以在范围
单例
中绑定
MyRequestFactory
(生成的实例是否保持任何状态?),并使用我的单例
EventBus
全局初始化它(它是否依赖于
活动
EventBus
)-结果是什么?我假设注入到
MyPresenter
MyRequestFactory
实例已经初始化用于生产或测试。另一个解决方案是将一些额外的
RequestFactory
初始化策略注入
MyPresenter
,但是否有必要?

RequestFactory
被设计为用作单例


假设您还有一个应用程序范围的事件总线,它的工作原理与您现在使用的一样:RequestFactory只发布到事件总线,它不侦听事件。

RequestFactory
被设计为用作单例

假设您还有一个应用程序范围的事件总线,它的工作原理与您现在使用的一样:RequestFactory只发布到事件总线,而不侦听事件

public MyPresenter {

  @Inject MyRequestFactory requestFactory;

  public void start(EventBus eventBus) {
    requestFactory.initialize(eventBus);
    ...
  }
  ...
}
requestFactory.initialize(eventBus, new InProcessRequestTransport(processor));