Invoke flow tests in an org.
Description for flow run test
Specify which tests to run by using the --class-names flag followed by the names of the flows you want to test. For example, if you save a flow with the name Flow1, then use: --class-names Flow1.
To see code coverage results, use the --code-coverage flag with --result-format. The output displays a high-level summary of the test run and the code coverage values for classes in your org. If you specify human-readable result format, use the --detailed-coverage flag to see detailed coverage results for each test method run.
By default, "flow run test" runs asynchronously and immediately returns a test run ID. If you use the -–synchronous flag, you can use the --wait flag to specify the number of minutes to wait; if the tests finish in that timeframe, the command displays the results. If the tests haven't finished by the end of the wait time, the command displays a test run ID. Use the "flow get test --test-run-id" command to get the results.
To run both Flow and Apex tests together, run the "sf logic run test" CLI command, which has similar flags as this command, but expands the --tests flag to also include Apex tests.
You must have the "View All Data" org system permission to use this command. The permission is disabled by default and can be enabled only by a system administrator.
Flags
| Flag Name (Long) | Flag Name (Short) | Description |
|---|---|---|
| <code>‑‑api‑version</code> | N/A | Type: Value<br><br>Override the api version used for api requests made by this command |
| <code>‑‑class‑names</code> | <code>‑n</code> | Type: Value<br><br>Flow names that contain flow tests to run.<br><br>Default is all flow tests. If you select --class-names, you can't specify --tests. |
| <code>‑‑code‑coverage</code> | <code>‑c</code> | Type: Boolean<br><br>Retrieve code coverage results. |
| <code>‑‑concise</code> | N/A | Type: Boolean<br><br>Display only failed test results; works with human-readable output only. |
| <code>‑‑flags‑dir</code> | N/A | Type: Value<br><br>Import flag values from a directory. |
| <code>‑‑json</code> | N/A | Type: Boolean<br><br>Format output as json. |
| <code>‑‑output‑dir</code> | <code>‑d</code> | Type: Value<br><br>Directory in which to store test result files. |
| <code>‑‑result‑format</code> | <code>‑r</code> | Type: Value<br>Valid Values: human, tap, junit, json<br>Default value: human<br><br>Format of the test results. |
| <code>‑‑suite‑names</code> | <code>‑s</code> | Type: Value<br><br>Not available for flow tests.<br><br>Not available for flow tests. |
| <code>‑‑synchronous</code> | <code>‑y</code> | Type: Boolean<br><br>Run flow tests for one flow synchronously; if not specified, tests are run asynchronously. |
| <code>‑‑target‑org</code> | <code>‑o</code> | Type: Value<br>Required<br><br>Username or alias of the target org. Not required if the target-org configuration variable is already set. |
| <code>‑‑test‑level</code> | <code>‑l</code> | Type: Value<br>Valid Values: RunLocalTests, RunAllTestsInOrg, RunSpecifiedTests<br><br>Level of tests to run; default is RunLocalTests.<br><br>Here's what the levels mean:<br><br><ul><li>RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked packages.</li><li>RunAllTestsInOrg — All tests are run. The tests include all tests in your org, including tests of managed packages.</li><li>RunSpecifiedTests - Only the tests that you specify with the --tests flag are run.</li></ul> |
| <code>‑‑tests</code> | <code>‑t</code> | Type: Value<br><br>Flow test names to run.<br><br>Default is all flow tests. If you specify --tests, you can't specify --class-names. |
Examples for flow run test
Run all local tests in your default org:
sf flow run test --test-level RunLocalTests
Run all the Flow1 and Flow2 flow tests in the org with alias “scratchOrg”:
sf flow run test --target-org scratchOrg --class-names Flow1 --class-names Flow2
Run specific Flow1 and Flow2 flow tests in your default org:
sf flow run test --tests Flow1.Test1 --tests Flow2.Test2 --test-level RunSpecifiedTests
Run all tests synchronously in your default org; the command waits to display the test results until all tests finish:
sf flow run test –synchronous
Run all local tests in the org with the username “me@my.org”; save the output to the specified directory:
sf flow run test --test-level RunLocalTests --output-dir /Users/susan/temp/cliOutput --target-org me@my.org
<!-- prettier-ignore-end -->