GWT测试用例无法运行:JUnitFatalLaunchException

时间:2011-03-03 12:14:13

标签: unit-testing gwt junit gwt-rpc

我正在尝试从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)

3 个答案:

答案 0 :(得分:16)

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

在Eclipse中,删除测试的运行配置,右键单击该类,按“Run As”并选择“GWT Test Case”。

为我工作。

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

答案 1 :(得分:4)

GWT测试与被测试的类不在同一个包中。将其移动到同一个包解决了这个问题。奇怪但是

答案 2 :(得分:2)

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