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/53cda6ea-6fba-4efe-b3c8-e45b498073d3n%40googlegroups.com.
