GWT测试用例:没有看到那种类型的编译单元......为什么?

时间:2012-01-24 19:19:22

标签: gwt maven gwttestcase

我正在使用GWT 2.4。我无法运行最近在新软件包中创建的一些GWTTestCase文件。我有正确运行在现有包中的文件,我无法弄清楚为什么像下面这样的测试失败。我正在使用Maven 3.0.3来启动它们。以下是我配置插件的方法......

        <!-- GWT Maven Plugin -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>gwt-maven-plugin</artifactId>
            <version>${gwtVersion}</version>
            <executions>
                <execution>
                    <id>clean-compile</id>
                    <goals>
                        <goal>clean</goal>
                        <goal>compile</goal>
                    </goals>
                </execution>
                <execution>
                    <id>run-gwt-tests</id>
                    <phase>test</phase>
                    <goals>
                        <goal>test</goal>
                    </goals>
                </execution>
            </executions>
            <!-- Plugin configuration. There are many available options, see gwt-maven-plugin 
                documentation at codehaus.org -->
            <configuration>
                <runTarget>index.html</runTarget>
                <hostedWebapp>${webappDirectory}</hostedWebapp>
                <i18nMessagesBundle>com.myco.clearing.product.client.Messages</i18nMessagesBundle>
            </configuration>
        </plugin>

以下是测试文件的测试主要部分......

package com.myco.product.client.view;
...
public class GwtTestAppView extends GWTTestCase {

private AppView appView;

@Override
public String getModuleName() {
    return "com.myco.clearing.product.ProductPlusJUnit";
}   // getModuleName

public void gwtSetUp() {
    appView = new AppView();
    RootPanel.get().add(appView);
} // gwtSetup

public void testShowLoading() { 
    testShowLoading(true);
}   // testShowLoading

这是我运行“mvn clean test”时得到的错误

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running junit.framework.TestSuite@c40c80
[INFO] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 2.656 sec <<< FAILURE!
[INFO] testShowLoading(com.myco.product.client.view.GwtTestAppView)  Time elapsed: 2.656 sec  <<< ERROR!
[INFO] com.google.gwt.junit.JUnitFatalLaunchException: The test class 'com.myco.product.client.view.GwtTestAppView' was not found in module 'com.myco.clearing.product.ProductPlusJUnit'; no compilation unit for that type was seen
[INFO]  at com.google.gwt.junit.JUnitShell.checkTestClassInCurrentModule(JUnitShell.java:743)
[INFO]  at com.google.gwt.junit.JUnitShell.runTestImpl(JUnitShell.java:1346)
[INFO]  at com.google.gwt.junit.JUnitShell.runTestImpl(JUnitShell.java:1309)
[INFO]  at com.google.gwt.junit.JUnitShell.runTest(JUnitShell.java:653)
[INFO]  at com.google.gwt.junit.client.GWTTestCase.runTest(GWTTestCase.java:441)

[INFO]  at junit.framework.TestCase.runBare(TestCase.java:134)
[INFO]  at junit.framework.TestResult$1.protect(TestResult.java:110)
[INFO]  at junit.framework.TestResult.runProtected(TestResult.java:128)
[INFO]  at junit.framework.TestResult.run(TestResult.java:113)
[INFO]  at junit.framework.TestCase.run(TestCase.java:124)
[INFO]  at com.google.gwt.junit.client.GWTTestCase.run(GWTTestCase.java:296)
[INFO]  at junit.framework.TestSuite.runTest(TestSuite.java:232)
[INFO]  at junit.framework.TestSuite.run(TestSuite.java:227)
[INFO]  at junit.framework.TestSuite.runTest(TestSuite.java:232)
[INFO]  at junit.framework.TestSuite.run(TestSuite.java:227)
[INFO]  at org.codehaus.mojo.gwt.test.MavenTestRunner.doRun(MavenTestRunner.java:105)
[INFO]  at junit.textui.TestRunner.start(TestRunner.java:180)
[INFO]  at org.codehaus.mojo.gwt.test.MavenTestRunner.main(MavenTestRunner.java:63)
[INFO]
[INFO] testHideLoading(com.myco.product.client.view.GwtTestAppView)  Time elapsed: 0 sec  <<< ERROR!

正如我所说,我能够运行位于不同包中的gwt测试(名为com.myco.product.client.xmltohtml),所以我无法弄清楚有什么不同。有什么问题?

1 个答案:

答案 0 :(得分:2)

糟糕,我的测试类不在我正在加载的模块识别的包中。该软件包应该是“com.myco.clearing.product.client.view”。更改包修复了所有内容。