Every approach has tradeoffs. This includes where Nimbus falls short. Nimbus does not aim to replace Salesforce orgs — it aims to keep them out of your inner dev loop. Final validation still happens on the platform.
Looking for a single-page deep dive? Nimbus vs scratch orgs · vs ApexMocks · vs Apex Replay Debugger
| Nimbus | Scratch Orgs | Dev Sandboxes | |
|---|---|---|---|
| Test speed | Milliseconds | 2-10 minutes | 2-10 minutes |
| Setup time | nimbus init | 15-30 min to push source + packages | Hours to provision, admin-controlled refresh cycles |
| CI/CD support | No org - JUnit/Cobertura XML | Needs org + credentials | Needs org + credentials |
| Platform accuracy | Real execution, not full fidelity — gaps exist | Full platform fidelity | Full platform fidelity |
| Isolation | Per-test DB rollback | Per-developer org, fresh per run — not persistent | Shared org, shared state |
| Debugging | Live breakpoints, step-through | Replay Debugger (after execution) | Replay Debugger (after execution) |
| IDE integration | VS Code, IntelliJ, Dev UI | VS Code (deploy-based) | VS Code (deploy-based) |
| Stub API / mocking | Supported locally | Supported (needs org) | Supported (needs org) |
| Flow execution | Record-triggered, autolaunched, platform events — not all types | Full platform | Full platform |
| Async Apex | @future, Batchable, Queueable, Schedulable | Full support | Full support |
| Sharing rules | with sharing keyword enforced — OWD and role hierarchy not implemented | Full enforcement | Full enforcement |
| Final validation | Org still required before production | This is the validation | This is the validation |
| Mutation testing | Built-in (Pro) | Not available | Not available |
| UI testing | Not possible | Full browser testing | Full browser testing |
| Requires an org | No | Yes | Yes |
Best for: inner dev loop, CI merge gates, AI-assisted development
Nimbus runs a complete Apex interpreter locally with an embedded database. SOQL executes as real SQL, triggers fire on DML, flows run from your .flow-meta.xml files, and each test runs in an isolated transaction. No org, no internet, no credentials.
Nimbus supports the Apex Stub API locally, so existing ApexMocks tests run without changes. You can also skip the mocks and test against a real local database - real queries, real DML, real trigger behavior, at millisecond speed.
Debugging is live: set breakpoints, step through Apex line by line, inspect variables with full type information - in your editor, not in Setup reading a debug log. Structured execution traces show every method, query, and trigger with precise timing.
What's not replicated yet: complex sharing rules (OWD, role hierarchy), approval processes, UI testing. For those, complement with scratch org or sandbox testing.
Best for: pre-deployment validation, full platform feature verification
Scratch orgs provide full Salesforce platform fidelity. Every feature works exactly as it would in production - sharing rules, governor limits, async processing, UI rendering. Each developer gets their own isolated org, so there's no shared state between devs.
The tradeoffs: they're not free of constraints — DevHub orgs are limited to 100 active scratch orgs and 200 per day. They're not persistent, so they're not great for long-running integration workflows. Setting up a scratch org for a complex codebase (pushing source, installing packages) takes 15-30 minutes. And they require credentials in CI.
Best for: UAT, staging, manual QA
Sandboxes offer full platform fidelity and are persistent — unlike scratch orgs, they stick around between sessions. Full Copy and Partial Copy sandboxes can include real production data; Developer and Developer Pro sandboxes are metadata-only.
The tradeoffs: multiple developers share a single sandbox, so test data bleeds between developers and test runs. Refresh cycles are limited and admin-controlled. Not practical for the rapid edit-test-debug cycle.
Use Nimbus for the 80% of tests that exercise business logic, SOQL, triggers, and class behavior. These are the tests you run hundreds of times a day. Millisecond feedback here changes how you work.
Use scratch orgs for the 20% that require full platform features — complex sharing rules, approval processes, UI testing. Run these as a pre-deployment verification step, not part of your inner loop.
Already using ApexMocks? Nimbus supports the Stub API, so your existing mocked tests run locally without changes. You can also add tests that use real SOQL and real DML alongside them - same speed, no org.
Nimbus is in prelaunch. Get notified when it's available.