gpt4 book ai didi

java - 无法调试 gwt 2.8 和 java 1.8 版本的 gwt 测试

转载 作者:行者123 更新时间:2023-12-03 21:47:26 27 4
gpt4 key购买 nike

我已将 gwt 版本升级到 2.8 和 java 1.8。测试在 gwt 2.7 和 java 1.7 上运行良好。我需要在 gwt.xml 中添加额外的配置还是在 pom 中添加任何依赖

点:

        <dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-servlet</artifactId>
<scope>2.8</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<scope>2.8</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<scope>2.8</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava-gwt</artifactId>
<version>20.0</version>
</dependency>

测试代码:

public class Test extends GWTTestCase {

Logger logger = Logger.getLogger(this.getClass().getCanonicalName());

/* (non-Javadoc)
* @see com.google.gwt.junit.client.GWTTestCase#getModuleName()
*/
@Override
public String getModuleName() {
return "org.field.TestJUnit";
}

public void testRenderAndBindTopScene() {
GWT.log("hi");
PageEx pageEx = GWT.create(PageEx.class);
}
}

TestJUnit.gwt.xml:

<?xml version="1.0" encoding="UTF-8"?>
<module rename-to="Field">
<!-- Inherit our applications main module. -->
<inherits name='org.field.Field' />


<source path="client" />
<source path="shared" />

</module>

最佳答案

从 GWT 2.8 开始,经典开发模式现已(正式)弃用,测试默认以生产模式运行(即编译为 JavaScript)。

这意味着您不能在 Java 代码中设置断点并期望在 Java 调试器中到达(因为它们是常规的 JUnit 3 测试,由标准 JUnit 运行程序驱动,实际上会调用一些方法,但不会调用测试方法本身)。
您可以(暂时)通过在 -Dgwt.args= 系统属性中传递 -devMode 来为测试重新启用开发模式,as hinted in the release notes .

或者,您可以在“手动”模式下运行测试(您将获得一个要在浏览器中打开的 URL,您可以在其中调试 JavaScript),或者您可以传递 -Dgwt.htmlunit。 debug 使用 HtmlUnit 运行样式(默认)运行测试时显示调试器窗口的系统属性(注意:我不知道如何使用它)。

...或通过记录事物来“调试”“良好的旧方法”;和/或制作一个小型重现案例,作为您可以在浏览器中运行的 GWT 应用程序。

关于java - 无法调试 gwt 2.8 和 java 1.8 版本的 gwt 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43116116/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com