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的主要内容,如果未能解决你的问题,请参考以下文章
Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例