Running tests locally using the command line
runs submit local command submits tests to run within the local JVM, rather than dynamically deploying the tests to a remotely deployed Galasa Ecosystem.
Running tests locally should only be used during test development to verify that the test is behaving as expected. Local runs do not benefit from the features that are provided when running tests within a Galasa Ecosystem. For example, resources are not cleaned-up in the event of a failure and scaling capabilities are limited by workstation resources.
Working with the
runs submit local command
To use the
runs submit local command, the
JAVA_HOME environment variable must be set to reference the JVM in which you want the test to run. This is because the local java run-time environment is used to launch the test locally. To check that
JAVA_HOME is set correctly, the tool checks that
$JAVA_HOME/bin/java exists in Unix or Mac, and
%JAVA_HOME%\bin\java.exe exists on Windows.
The level of Java must match the supported level of the Galasa version that is being launched. Use the
galasactl --version command to find the galasactl tool version. We currently support Java version 11 to version 16 JDK. Note: We do not currently support Java 17 or later.
Use the following command to run a test in the local JVM.
On Mac or Unix:
galasactl runs submit local --log - \ --obr mvn:dev.galasa.example.banking/dev.galasa.example.banking.obr/0.0.1-SNAPSHOT/obr \ --class dev.galasa.example.banking.account/dev.galasa.example.banking.account.TestAccount
On Windows (Powershell):
galasactl runs submit local --log - ` --obr mvn:dev.galasa.example.banking/dev.galasa.example.banking.obr/0.0.1-SNAPSHOT/obr ` --class dev.galasa.example.banking.account/dev.galasa.example.banking.account.TestAccount
--logspecifies that debugging information is directed somewhere, and the
-means that it is sent to the console (stderr).
--obrspecifies where the CLI tool can find an OBR which refers to the bundle where the tests are stored. When running locally, all tests must exist in the OBR (or OBRs) that are passed to the tool. The
--obrparameter specifies the Maven co-ordinates of the obr jar file, in the format
--classspecifies which test class to run. The string is in the format of
<osgi-bundle-id>/<fully-qualified-java-class>. All test methods within the class are run. Use multiple flags to test multiple classes.
You can view the full list of options that are available with the
runs submit local command in the
Galasa cli repository.
Stopping a running test
Ctrl-C to stop the
galasactl tool, ending all test activity. Note that this might leave the system under test with resources that are not cleaned-up.