Hi Kevin, On 20.02.2020 14:03, Kevin Rushforth wrote: > None of the apps underneath testapp* are "tests", but are rather auxiliary > applications that are > run as apps in a separate process by a test. The test itself must be > somewhere under > tests/system/src/test/java. > > For example, the test class ModuleLauncherTest is in > tests/system/src/test/java/test/launchertest. > You probably need to do something similar.
thanks to your information I was able to succeed! The new modular app needs to be added to "tests/system/src/test/java/test/launchertest/ModuleLauncherTest.java". To do so, one needs (in this example the modular app is "testapp7" which includes a package named "myapp7" which contains the test "FXMLScriptTest" class): * to add (copy and adjust) a private field (a String) in this case named "modulePath7" which value gets fetched from a System property "launchertest.testapp7.module.path" which gets used in the test method that needs to be added as well (see next item) * then at the end add a new Test method: @Test (timeout = 15000) private void testModuleFXMLScriptTest() throws Exception { doTestLaunchModule(modulePath7, "myapp7.FXMLScriptTest"); } To run the modular tests only, one can issue therefore: ./gradlew -PFULL_TEST=true :systemTests:test --tests ModuleLauncherTest ---rony > On 2/20/2020 1:31 AM, Rony G. Flatscher wrote: >> Kevin, >> >> thank you very much for your information! >> >> On 19.02.2020 20:44, Kevin Rushforth wrote: >>> First, make sure that your test class name ends with exactly the string >>> "Test". >> Renamed the class such that it ends in "Test" ("FXMLScriptTest"), however >> this does not cause the >> class to be loaded from the modular app and its main() method to be run >> using "./gradlew >> -PFULL_TEST=true :systemTests:test". >> >> All the "systemTests" modular applications (cf. >> "jfx/tests/system/src/testapp{1..6}") do not contain >> any classes that end in the string "Test"! Rather all the classes that carry >> out assertions possess >> a main() method that controls the execution and the assertions (usually they >> extend Application and >> implement the start() method, in which the test methods get triggered). >> >> So that led me to believe that in the case of these system tests the test >> runner inspects all >> classes and if they contain a main() method just executes it and upon return >> the launcher inspects >> the return code to determine whether the system test run of that class was >> successful or not. >> >> When trying to run test classes individually in the system tests, the >> "--tests" filter comes up with >> an error, e.g. for >> >> ./gradlew -PFULL_TEST=true :systemTests:test --tests FXMLScriptTest >> >> or for any other of the already existing system tests, e.g.: >> >> ./gradlew -PFULL_TEST=true :systemTests:test --tests AppFXMLOpened >> >> [The above system test class "AppFXMLOpened" is part of the "testapp6" >> modular test and located in >> the package "myapp6". Note, the class name does not end in "Test".] >> >> So maybe there is another way to run/launch these system test modular apps >> (maybe also >> individually)? >> >> ---rony >> >>