Apologies. Doing a mvn package does work. The tests run successfully.
Doing a mvn test does not work (gives the "*No source code is available for
type test.craig.FieldVerifier; did you forget to inherit a required
module?"*" error).
On Saturday, 10 May 2025 at 4:51:35 pm UTC+10 Craig Mitchell wrote:
> Some extra (strange) behaviours:
>
> Creating a class in the client module:
> public class FieldVerifierOverride extends FieldVerifier { }
>
> And then calling the test with this class:
> assertTrue( FieldVerifierOverride.isValidName("hi") );
>
> Gives a different error:
> [ERROR] Could not find test.craig.FieldVerifier in types compiled from
> source. Is the source glob too strict?
>
> Also, if I run mvn package (instead of mvn test), then the test actally
> runs, but FieldVerifier.isValidName("hi") returns false (it should return
> true):
> [ERROR] test.craig.MyTests.testSimple -- Time elapsed: 8.016 s <<<
> FAILURE!
> junit.framework.AssertionFailedError: expected: <true>, actual: <false>
>
> On Saturday, 10 May 2025 at 12:01:52 pm UTC+10 Craig Mitchell wrote:
>
>> 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/c4352589-3dd8-420c-aa32-acc88505973fn%40googlegroups.com.