In the GWTTestCase client tests, if I want to test code that's in the 
shared module.  Eg:

assertTrue( FieldVerifier.isValidName("hi") );

I get the error:
[ERROR] Line 13: No source code is available for type 
test.craig.FieldVerifier; did you forget to inherit a required module?

How can I inherit the shared module for the GWTTestCase tests?

On Monday, 28 April 2025 at 9:26:13 am UTC+10 Craig Mitchell wrote:

> Thanks Colin.  I wasn't aware of the "Suite" naming convention.
>
> So, to summarise.  Either:
> - Put "Suite" or "SuiteNoBrowser" at the end of the test class name, or
> - Add the test class directly as an include in the client pom.xml, in 
> the gwt-maven-plugin.
>
> Now working great!
>
> On Sunday, 27 April 2025 at 10:30:10 pm UTC+10 Colin Alworth wrote:
>
>> When using maven, running from the command line should be "mvn test". 
>> With the plugin you are using, it is assumed you are using a test suite - 
>> this is not required, but scales better. If you only need to run a single 
>> test, you can modify this includes.
>>
>> https://tbroyer.github.io/gwt-maven-plugin/test-mojo.html#includes
>>
>> For example in your project with MyTests (note: that wouldn't run even in 
>> a non-gwt project from maven, the default pattern is *Test), you could add 
>> this:
>>           <includes>
>>             <include>test/craig/MyTests.java</include>
>>           </includes>
>>
>> When I do that, having built the sample as you describe, the tests passes 
>> with mvn test:
>> [INFO] -------------------------------------------------------
>> [INFO]  T E S T S
>> [INFO] -------------------------------------------------------
>> [INFO] Running test.craig.MyTests
>> [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
>> 13.96 s -- in test.craig.MyTests
>> [INFO] 
>> [INFO] Results:
>> [INFO] 
>> [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
>>
>> When running from IJ, it doesnt automatically add sources to the 
>> classpath as gwt:test does, so you may just want to call the maven goal 
>> directly instead. I recall that it is possible to configure Maven/IJ to run 
>> tests "normally", but can't quickly spot what that would be.
>>
>> On Sunday, April 27, 2025 at 12:18:17 AM UTC-5 [email protected] 
>> wrote:
>>
>>> When running from the command line, I forgot to add all the items to the 
>>> class path.  Once I did that, I got the same error IntelliJ did:
>>>
>>> There was 1 error:
>>> 1) 
>>> testSimple(test.craig.MyTests)com.google.gwt.junit.JUnitFatalLaunchException:
>>>  
>>> The test class 'test.craig.MyTests' was not found in module '
>>> test.craig.App'; no compilation unit for that type was seen
>>>         at 
>>> com.google.gwt.junit.JUnitShell.checkTestClassInCurrentModule(JUnitShell.java:741)
>>>         at 
>>> com.google.gwt.junit.JUnitShell.runTestImpl(JUnitShell.java:1360)
>>>         at 
>>> com.google.gwt.junit.JUnitShell.runTestImpl(JUnitShell.java:1316)
>>>         at com.google.gwt.junit.JUnitShell.runTest(JUnitShell.java:679)
>>>         at 
>>> com.google.gwt.junit.client.GWTTestCase.runTest(GWTTestCase.java:421)
>>>         at 
>>> com.google.gwt.junit.client.GWTTestCase.run(GWTTestCase.java:247)
>>>
>>> FAILURES!!!
>>> Tests run: 1,  Failures: 0,  Errors: 1
>>>
>>> On Sunday, 27 April 2025 at 2:54:36 pm UTC+10 Craig Mitchell wrote:
>>>
>>>> I created a demo project with 
>>>> https://github.com/NaluKit/gwt-maven-springboot-archetype with the 
>>>> params:
>>>> - modular-springboot-webapp
>>>> - groupId: test.craig
>>>> - artifactId: testing
>>>> - module-short-name app: tc
>>>>
>>>> Added JUnit to the client pom:
>>>> <dependency>
>>>>   <groupId>junit</groupId>
>>>>   <artifactId>junit</artifactId>
>>>>   <version>4.13.2</version>
>>>>   <scope>test</scope>
>>>> </dependency>
>>>>
>>>> Created a simple test in the client module (in 
>>>> src/test/java/test/craig/MyTests.java):
>>>> public class MyTests extends GWTTestCase {
>>>>   @Override
>>>>   public String getModuleName() {
>>>>     return "test.craig.App";
>>>>   }
>>>>   public void testSimple() {
>>>>     assertTrue( true );
>>>>   }
>>>> }
>>>>
>>>> Tried to run it in IntelliJ, but got the error:
>>>> com.google.gwt.junit.JUnitFatalLaunchException: The test class 
>>>> 'test.craig.MyTests' was not found in module 'test.craig.App'; no 
>>>> compilation unit for that type was seen
>>>>
>>>> Tried to compile and run it from the command line:
>>>> java junit.textui.TestRunner test.craig.MyTests
>>>>
>>>> But that returned:
>>>> Error: Could not find or load main class junit.textui.TestRunner
>>>> Caused by: java.lang.ClassNotFoundException: junit.textui.TestRunner
>>>>
>>>> I thought I was following the instructions in 
>>>> https://www.gwtproject.org/doc/latest/DevGuideTesting.html but 
>>>> obviously doing something wrong.
>>>>
>>>> Any help is much appreciated.
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/google-web-toolkit/95322628-6da9-447d-8c2b-2a00fe2f2738n%40googlegroups.com.

Reply via email to