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/3e944a7e-fce6-4820-b385-980c6c24d79bn%40googlegroups.com.
