Skipper (skipper_core v1.0.0)

Copy Markdown View Source

Runtime shared by the framework adapters (skipper_ex_unit, skipper_espec): load the spreadsheet once per run, answer "should this test run?", collect discovered test IDs, then emit the report and sync at the end.

Summary

Functions

Record test_id as discovered and tell whether it should run: :run or {:skip, message}.

Emit the quarantine report and, in sync mode, reconcile the sheet. Returns {:error, reason} (already printed) when the sync fails.

Replace the resolver (e.g. to add fixture entries in tests).

The loaded resolver, or nil when Skipper is not started/configured.

Load the spreadsheet. Options

True with SKIPPER_MODE=sync.

Functions

check(test_id)

@spec check(String.t()) :: :run | {:skip, String.t()}

Record test_id as discovered and tell whether it should run: :run or {:skip, message}.

finish()

@spec finish() :: :ok | {:error, String.t()}

Emit the quarantine report and, in sync mode, reconcile the sheet. Returns {:error, reason} (already printed) when the sync fails.

put_resolver(resolver)

Replace the resolver (e.g. to add fixture entries in tests).

resolver()

The loaded resolver, or nil when Skipper is not started/configured.

start(opts \\ [])

@spec start(keyword()) :: :ok

Load the spreadsheet. Options:

Without a config every test runs. Raises only when the sheet cannot be loaded and SKIPPER_FAIL_OPEN=false.

sync_mode?()

True with SKIPPER_MODE=sync.