I'm using gwt-servlet-jakarta and GWTTestCase worked fine.  I don't 
think GWTTestCase has anything to do with which web server you use.

It does use JUnit 4 though.  It won't work with JUnit 5.

On Monday, 19 May 2025 at 9:15:30 am UTC+10 Radek wrote:

> Hi,
>
> Could you confirm that GWTTestCase only works if you’re still using the 
> old javax.servlet API? It no longer works once you’ve migrated to Jakarta 
> (e.g. Tomcat 10), right?
>
> Regards,
> Radek
> On Monday, May 12, 2025 at 3:32:52 PM UTC+2 Craig Mitchell wrote:
>
>> Thank you Thomas!  The testArgs config worked perfectly.
>>
>> On Monday, 12 May 2025 at 5:41:37 pm UTC+10 Thomas Broyer wrote:
>>
>>> Use the gwt.args system property to pass arguments to GWT's JUnitShell: 
>>> https://www.gwtproject.org/doc/latest/DevGuideTesting.html#passingTestArguments
>>>  
>>> / 
>>> https://maven.apache.org/surefire/maven-surefire-plugin/examples/system-properties.html
>>> <systemPropertyVariables>
>>>   <gwt.args>-testMethodTimeout 10</gwt.args>
>>> </systemPropertyVariables>
>>>
>>> But with my maven plugin, you can also "just" use <testArgs> in the 
>>> plugin configuration: 
>>> https://tbroyer.github.io/gwt-maven-plugin/test-mojo.html#testArgs
>>> <testArgs>
>>>   <arg>-testMethodTimeout</arg><arg>10</arg>
>>> </testArgs>
>>>
>>> On Sunday, May 11, 2025 at 6:29:29 AM UTC+2 [email protected] 
>>> wrote:
>>>
>>>> If it helps, this is where it's setting the default timeout of 5 
>>>> minutes:  
>>>> https://github.com/gwtproject/gwt/blob/main/user/src/com/google/gwt/junit/JUnitShell.java#L318
>>>>   
>>>> I'm just stuck on how to override it.
>>>>
>>>> Also, if I run  mvn clean install gwt:test -pl *-client  that seems to 
>>>> run the tests (but it's easier to type mvn package 🙂)
>>>>
>>>> On Saturday, 10 May 2025 at 5:24:37 pm UTC+10 Craig Mitchell wrote:
>>>>
>>>>> (Sorry for the spamming)  Now I am able to run my tests, I see they 
>>>>> are rather slow, and they timeout with the message "Try increasing 
>>>>> this timeout using the '-testMethodTimeout minutes' option".
>>>>>
>>>>> I'm running in Maven and trying to add this argument.  I've tried 
>>>>> putting it in the POM:
>>>>> <gwt.testMethodTimeout>10</gwt.testMethodTimeout>
>>>>>
>>>>> Also via the command line:
>>>>> mvn package "-DtestMethodTimeout=10"
>>>>> mvn package "-DtestMethodTimeout 10"
>>>>>
>>>>> It just keeps using the default of 5 minutes.  Any idea how to set the 
>>>>> timeout?
>>>>>
>>>>> On Saturday, 10 May 2025 at 4:58:07 pm UTC+10 Craig Mitchell wrote:
>>>>>
>>>>>> 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/1be86262-65a1-492d-88e9-94b4f5423c3dn%40googlegroups.com.

Reply via email to