我正在尝试从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)
答案 0 :(得分:16)
问题可能是您已将测试作为JUnitTest而不是GWT Junit Testcase运行。
在Eclipse中,删除测试的运行配置,右键单击该类,按“Run As”并选择“GWT Test Case”。
为我工作。
我同意GWT测试太慢的其他答案 - 但不幸的是,你可能偶尔需要它们。
答案 1 :(得分:4)
GWT测试与被测试的类不在同一个包中。将其移动到同一个包解决了这个问题。奇怪但是
答案 2 :(得分:2)
查看你的GWTTestCase.getModuleName()方法并确保它返回正确的模块。