gwt-无法为使用HTMLPanel的类创建单元测试



我有一个util类,它有一个方法:

 public static void setStyleForWidgetLayout(HTMLPanel panel, int rowQuantity) {

HTMLPannel中每个Widget的分配宽度取决于Widget和行的数量。这是一个非常简单的开关。

我想测试这个方法,但当我用普通的JUnit测试用例创建测试时,我在创建HTMLPanel时遇到了错误。

 Caused by: java.lang.UnsupportedOperationException: ERROR: GWT.create() is only usable in client code!  It cannot be called, for example, from server code.  If you are running a unit test, check that your test case extends GWTTestCase and that GWT.create() is not called from within an initializer or constructor.

接下来,我尝试扩展GWTTestCase,但它需要实现getModuleName(),但我没有任何特定的模块,因为我测试的类只是util类

好吧,我想,让我们模拟一下。我使用了mockito,但出现了错误,和前面的代码部分一样。

然后我找到了类GwtTestWithMockito,并试图运行它,但我再次收到错误。

com.googlecode.gwt.test.exceptions.GwtTestConfigurationException: No declared module. Did you forget to add your own META-INF/gwt-test-utils.properties file with a 'gwt-module' property in the test classpath?

我添加了@GWTModule和这个META-INF/gwt-test-util.properties。并尝试了不同的配置。我尝试了现有的模块名称和不存在的模块名称,但仍然收到上面的错误。

提前感谢

恐怕您必须使用GWTTestCase。模块名称是模块XML文件的名称。

有时你必须将你的面板添加到根面板中,我这样做通常只是为了安全起见。

相关内容

  • 没有找到相关文章

最新更新