GWT test case: no compilation unit for that type was seen ... why?

1.8k views Asked by At

I'm using GWT 2.4. I having trouble running some GWTTestCase files that I recently created in a new package. I have files correctly running in an existing package and I can't figure out why tests like the below are failing. I'm using Maven 3.0.3 to launch these. Here is how I have my plugin configured ...

        <!-- 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>

Here is the test main part of the test file ...

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

and here is the error I get when I run "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!

As I said, I'm able to run gwt tests fine that are located in a different package (named com.myco.product.client.xmltohtml), so I can't figure out what's different. What is the problem?

1

There are 1 answers

0
Dave On

Oops, my test class wasn't in a package recognized by the module I was loading. The package should have been "com.myco.clearing.product.client.view". Changing the package fixed everything.