flow run test

Invoke flow tests in an org.

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.

Flag Name (Long)Flag Name (Short)Description
‑‑api‑versionN/AType: Value

Override the api version used for api requests made by this command
‑‑class‑names‑nType: Value

Flow names that contain flow tests to run.

Default is all flow tests. If you select –class-names, you can’t specify –tests.
‑‑code‑coverage‑cType: Boolean

Retrieve code coverage results.
‑‑conciseN/AType: Boolean

Display only failed test results; works with human-readable output only.
‑‑flags‑dirN/AType: Value

Import flag values from a directory.
‑‑jsonN/AType: Boolean

Format output as json.
‑‑output‑dir‑dType: Value

Directory in which to store test result files.
‑‑result‑format‑rType: Value
Valid Values: human, tap, junit, json
Default value: human

Format of the test results.
‑‑suite‑names‑sType: Value

Not available for flow tests.

Not available for flow tests.
‑‑synchronous‑yType: Boolean

Run flow tests for one flow synchronously; if not specified, tests are run asynchronously.
‑‑target‑org‑oType: Value
Required

Username or alias of the target org. Not required if the target-org configuration variable is already set.
‑‑test‑level‑lType: Value
Valid Values: RunLocalTests, RunAllTestsInOrg, RunSpecifiedTests

Level of tests to run; default is RunLocalTests.

Here’s what the levels mean:

  • RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked packages.
  • RunAllTestsInOrg — All tests are run. The tests include all tests in your org, including tests of managed packages.
  • RunSpecifiedTests - Only the tests that you specify with the –tests flag are run.
‑‑tests‑tType: Value

Flow test names to run.

Default is all flow tests. If you specify –tests, you can’t specify –class-names.

Run all local tests in your default org:

Run all the Flow1 and Flow2 flow tests in the org with alias “scratchOrg”:

Run specific Flow1 and Flow2 flow tests in your default org:

Run all tests synchronously in your default org; the command waits to display the test results until all tests finish:

Run all local tests in the org with the username “me@my.org”; save the output to the specified directory: