Unit testing Boomi processes

Boomi has no built-in unit test framework: Test Mode is manual, results aren’t repeatable, and nothing lives in version control. Weave adds a real test workflow — test cases are YAML files beside your components, executions happen on a real local Atom, and results land in VS Code’s native Test Explorer.

The test format

A *.boomitest.yaml file binds to a process by component id (so it’s portable across accounts) and holds any number of test cases — input documents in, assertions on what happened:

process: "[SUB] Weather Lookup Logic"
componentId: b80c697d-ca08-4c9e-9cda-5d7ce5715867
tests:
  - name: "ROUTE-01: missing latitude triggers Missing Coordinates exception"
    input:
      inline: '{"latitude":"","longitude":"-77.0369","units":"metric"}'
    expectError:
      messageContains: "latitude and longitude are required"
    assert:
      - shapeReached: "Missing Coordinates"
      - shapeNotReached: "Call Open-Meteo Forecast"

  - name: "ROUTE-04: units='f' normalizes to fahrenheit"
    input:
      inline: '{"latitude":"38.9072","longitude":"-77.0369","units":"f"}'
    assert:
      - shape: "Set Query Param DDPs"
        doc: { jsonPath: "$.temperature_unit", equals: "fahrenheit" }

Assertions cover routing (shapeReached / shapeNotReached), error expectations, and document content at a specific shape (JSONPath against the documents that passed through it). A bundled JSON schema gives completions and validation as you type.

Running tests

Tests appear in VS Code’s Testing pane the moment the file is saved. A run builds the deployment closure from your local component snapshots, injects it into a local Atom via the Weave agent, and streams the execution back: shapes light green as batches arrive, errors red, and the verdict lists every assertion. You also get per-shape logs, the actual documents, and shape + branch coverage — so “this branch is covered” is a measurement, not a guess.

Runs are kept per test case in the Boomi Test Runs view, and you can step into a sub-process call and replay its own trace without re-executing.

Test data and mocks

The test view can seed multiple documents (with MIME types and dynamic document/process properties) into a process after its start shape, and environment extensions can point connections at mocks or override configuration for that run only.

Next

Run the same suites headlessly: Boomi CI/CD pipeline with JUnit output.