Documentation Index
Fetch the complete documentation index at: https://flowdeck.studio/docs/llms.txt
Use this file to discover all available pages before exploring further.
flowdeck test
Run unit and UI tests.Options
| Option | Short | Description |
|---|---|---|
--examples | Show usage examples | |
--project <path> | -p | Project directory |
--workspace <path> | -w | Path to workspace (.xcworkspace) or project (.xcodeproj) |
--scheme <name> | -s | Scheme name |
--configuration <name> | -C | Build configuration (Debug/Release) |
--simulator <name> | -S | Simulator name/UDID (REQUIRED for iOS/tvOS/watchOS) |
--device <name> | -D | Device name/UDID (use “My Mac” for macOS) |
--derived-data-path <path> | -d | Derived data path (default: ~/Library/Developer/FlowDeck/DerivedData) |
--config <path> | -c | Path to an explicit command config file |
--test-targets <targets> | Specific test targets to run (comma-separated) | |
--test-cases <cases> | Specific test cases to run (comma-separated, format: TargetName/ClassName/testMethod) | |
--only <tests> | Run only specific tests (format: TargetName/ClassName or TargetName/ClassName/testMethod) | |
--skip <tests> | Skip specific tests (format: TargetName/ClassName or TargetName/ClassName/testMethod) | |
--plan <name-or-path> | Test plan name or .xctestplan path | |
--json | -j | Output as JSON |
--verbose | -v | Show raw xcodebuild test output (beautified) |
--progress | Show test results as they complete (pass/fail per test) | |
--streaming | Stream clean formatted test results (no escape codes, for file capture) | |
--xcodebuild-options <args> | Extra xcodebuild arguments (e.g., --xcodebuild-options='-parallel-testing-enabled YES') | |
--xcodebuild-env <vars> | Xcodebuild environment variables (e.g., ‘CI=true’) |
After running
flowdeck config set, workspace, scheme, and simulator are saved to project state.
CLI parameters are only required if you haven’t run flowdeck config set, or to override saved values.
Use --device "My Mac" for macOS builds.--config here means the explicit command config file format. It is separate from .flowdeck/config.json and .flowdeck/config.local.json.On failed test runs, FlowDeck prints the extracted failure reason plus
Full log: <absolute-path> for the persisted raw xcodebuild output. Read that file directly before rerunning with --verbose.Test Filtering
The--only option supports multiple formats:
- Full path:
MyAppTests/LoginTests/testValidLogin- runs a specific test method - Class name:
LoginTests- runs all tests in that class - Method name:
testValidLogin- runs all tests with that method name (across classes)
--only multiple times or separating with commas.
Config File Format
The--config parameter accepts the explicit command config format:
platform to "macOS" (no simulator needed).
JSON Output
When using--json, the command outputs newline-delimited JSON events during execution, followed by a final test result:
| Type | Description |
|---|---|
status | Progress updates with stage and message |
test_started | Test execution started with testName |
test_passed | Test passed with testName and duration |
test_failed | Test failed with testName, duration, reason, file, line |
test_skipped | Test skipped with testName and optional reason |
result | Final result with success and operation |
flowdeck test discover
Discover all available tests in a project by parsing test source files. This uses static source analysis (like Xcode’s Test Navigator) and does not require building the project.Options
| Option | Short | Description |
|---|---|---|
--project <path> | -p | Project directory |
--workspace <path> | -w | Path to workspace (.xcworkspace) or project (.xcodeproj) (also accepts --ws) |
--scheme <name> | -s | Scheme name (also accepts --sch) |
--config <path> | -c | Path to an explicit command config file (also accepts --cfg) |
--filter <query> | -F | Filter tests by name (case-insensitive) |
--json | -j | Output as JSON |
--include-skipped-tests | Include tests that are skipped in the scheme or test plan (marked as skipped) | |
--examples | -e | Show usage examples |
Test discovery uses static source parsing and doesn’t require building. It finds
XCTestCase subclasses, test* methods, @Suite structs, and @Test functions directly from source files. By default, tests that are disabled in the scheme or test plan are excluded from results.JSON Output
flowdeck test plans
List test plans referenced by a scheme. This reads the scheme file and does not build the project.Options
| Option | Short | Description |
|---|---|---|
--project <path> | -p | Project directory |
--workspace <path> | -w | Path to workspace (.xcworkspace) or project (.xcodeproj) (also accepts --ws) |
--scheme <name> | -s | Scheme name (also accepts --sch) |
--config <path> | -c | Path to an explicit command config file (also accepts --cfg) |
--json | -j | Output as JSON |
--examples | -e | Show usage examples |
