GWT 测试用例运行失败:JUnitFatalLaunchException

Posted

技术标签:

【中文标题】GWT 测试用例运行失败:JUnitFatalLaunchException【英文标题】:GWT test case fail to run: JUnitFatalLaunchException 【发布时间】:2011-03-03 12:14:13 【问题描述】:

我正在尝试从 eclipse 3.6 运行 GWT 测试,但遇到了这个奇怪的错误。

在模块“com.company.demo.smartgwt.module”中找不到测试类“com.company.demo.smartgwt.RequestBuilderTest”;没有看到该类型的编译单元

已尝试将源文件夹添加到“运行对话框”--> 类路径和源选项卡,如 here 所述。还没有运气,也没有什么选择了.. 有什么建议吗?

完整的错误堆栈:


com.google.gwt.junit.JUnitFatalLaunchException: The test class 'com.company.demo.smartgwt.RequestBuilderTest' was not found in module 'com.company.demo.smartgwt.module'; no compilation unit for that type was seen
    at com.google.gwt.junit.JUnitShell.checkTestClassInCurrentModule(JUnitShell.java:718)
    at com.google.gwt.junit.JUnitShell.runTestImpl(JUnitShell.java:1317)
    at com.google.gwt.junit.JUnitShell.runTestImpl(JUnitShell.java:1280)
    at com.google.gwt.junit.JUnitShell.runTest(JUnitShell.java:625)
    at com.google.gwt.junit.client.GWTTestCase.runTest(GWTTestCase.java:456)
    at junit.framework.TestCase.runBare(TestCase.java:127)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:118)
    at com.google.gwt.junit.client.GWTTestCase.run(GWTTestCase.java:311)
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

【问题讨论】:

一些有趣的提示也可以在raibledesigns.com/rd/entry/testing_gwt_applications 找到。 【参考方案1】:

问题可能是您将测试作为 JUnitTest 而不是 GWT Junit Testcase 运行。

在 Eclipse 中,删除测试的运行配置,右键单击类,按“运行方式”并选择“GWT 测试用例”。

为我工作。

我同意 GWT 测试太慢的其他答案 - 但不幸的是,您可能偶尔需要它们。

【讨论】:

如果“GWT 测试用例”没有出现,请确保项目在“项目属性->Google->Web 工具包”中选中了“使用 Google Web 工具包”复选框。 【参考方案2】:

GWT 测试与被测类不在同一个包中。将它移到同一个包中解决了这个问题。虽然很奇怪

【讨论】:

GWT 测试运行速度太慢,你可以尝试使用 Junit 和 Mockito 来加快小部件之间交互的测试 GWT 单元测试的有用链接blog.hivedevelopment.co.uk/2009/10/…【参考方案3】:

查看您的 GWTTestCase.getModuleName() 方法并确保它返回正确的模块。

【讨论】:

以上是关于GWT 测试用例运行失败:JUnitFatalLaunchException的主要内容,如果未能解决你的问题,请参考以下文章

TestNG测试用例重跑详解及实践优化

TestNG测试用例重跑详解及实践优化

Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例

运行 Junit 测试用例时“加载 ApplicationContext 失败”

在UI自动化测试中使用flaky插件运行失败用例

Python测试框架pytest(16)运行上次失败用例查看与清除缓存cache自定义标记mark