# `mix mob.onboarding_test`
[🔗](https://github.com/genericjam/mob/blob/master/lib/mix/tasks/mob.onboarding_test.ex#L1)

Runs the Mob onboarding integration tests, which verify that a new user can
go from zero to a running app without hitting any friction that should have
been caught automatically.

## Usage

    mix mob.onboarding_test                 # pre-device tests only (fast)
    mix mob.onboarding_test --all           # all tests including post-device
    mix mob.onboarding_test --only generator
    mix mob.onboarding_test --only failure_modes
    mix mob.onboarding_test --only pre_device
    mix mob.onboarding_test --only post_device

## Options

    --all           Run all onboarding tests, including those that need a
                    booted iOS simulator or Android emulator
    --only TAG      Run only tests with this tag
    --env ENV       Toolchain environment to report in output (mise|asdf|nix|brew)
    --seed N        ExUnit seed (passed through to mix test)
    --no-color      Disable ANSI colors in output

## What this runs

Tests live in `test/onboarding/` and are tagged `:onboarding`. They are
excluded from the normal `mix test` run to avoid slowing down the development
loop.

Sub-tags:
- `:generator`      — Stage 1–4: archive install, project gen, install, doctor
- `:failure_modes`  — All failure injection tests
- `:pre_device`     — Failure tests that require no simulator/emulator
- `:post_device`    — Failure tests that require a running simulator/emulator

## Workspace isolation

Each test creates a fresh temp directory under `/tmp/mob_onboarding_<id>/`
with its own MIX_HOME, HEX_HOME, and MOB_CACHE_DIR. On success the workspace
is deleted. On failure it is preserved and its path is printed so you can
inspect logs and the generated project.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
