Skip to content

Releases: JasperFx/bobcat

Bobcat 1.0.0

Choose a tag to compare

@jeremydmiller jeremydmiller released this 27 Oct 00:28
18f652c

Bobcat 1.0.0 is the first stable release of the spec-driven integration testing framework for .NET, and the successor to Storyteller. It is the end of the 1.0.0-rc series (rc.1 through rc.4). Docs are at https://bobcat.jasperfx.net.

Packages

Bobcat, Bobcat.Generators, Bobcat.Supervisor, Bobcat.Xunit, Bobcat.TUnit, Bobcat.NUnit, Bobcat.MSTest, Bobcat.EventModel, and the bobcat tool, Bobcat.Console (dotnet tool install -g Bobcat.Console). The Critter Stack vocabulary ships separately as WolverineFx.Bobcat from the Wolverine repository.

What 1.0 is

  • Author specifications as ordinary xUnit.net, TUnit, NUnit or MSTest tests. Bobcat renders them as readable specifications, and a Roslyn source generator turns step helpers and marker comments into recorded steps at compile time.
  • Supervise large suites so the results can be trusted: split across worker processes, isolate resources per lane, retry within budgets, record flakiness in a ledger instead of hiding it, or keep a suite resident for a run console.
  • Specify end to end, scaffolding specifications slice by slice from an Event Model.

Coming from 0.x or an earlier 1.0 release candidate

  • From 1.0.0-rc.2, Bobcat takes no JasperFx or Wolverine dependency (#744). The Critter Stack vocabulary (CritterStackSpec, CritterStackScenario, EventStores, …) moved to WolverineFx.Bobcat under the same namespace, and the recovery-hint attributes moved to Bobcat.Resilience. The full list is under Migrating to 1.0.0-rc.2.
  • bobcat import-event-model --specs moved to a Wolverine-side command. The import still writes the stubs and the EventModelDefinition.

Since 1.0.0-rc.4

  • The Bobcat UI's run board and run pages: a board grouped by suite with overall progress and a status strip (#784, #792). Run pages for big suites get a nested tree, folding, zoom and a filter kept in the URL (#787, #801). Retention is five runs per repository and suite (#791). Builds are shown on their suite (#795).
  • Several Event Models on one console: a model switcher, push provenance, and the spec half that a stale model used to withhold (#799).
  • bobcat resident <folder> picks the test host when the folder also holds the app under test (#797), and the resident runner restarts in place when no parent will relaunch it (#796).
  • UI polish: "Run all" only where it can run, no partial first paint, and a build dialog that closes (#798).
  • CLI: no short flag means two things, and usage errors are one line (#789).
  • Docs: screenshots and text for the 1.0 UI work (#805), and where the UI keeps Event Models (#807).

Dependencies

  • JasperFx / JasperFx.Events 2.96.0 for the bobcat tool and the Event Model generator. Bobcat's runtime packages reference neither.
  • The UI's Event Model canvas is on @jasperfx/event-model-vue 0.16.0: a source disagreement is a muted "≠" badge on the card it disputes rather than a red sticky (jasperfx#1084).
  • Bobcat.Ui's host is on WolverineFx 6.54.0 (#808).

0.11.0

Choose a tag to compare

@jeremydmiller jeremydmiller released this 06 Sep 23:54
f202b54

What's Changed

  • An aggregate is one type for the whole model, and every scenario gets its own stream by @jeremydmiller in #222

Full Changelog: v0.10.0...v0.11.0