Skip to main content

Smartest

Smartest is a small Ruby test runner with a keyword-fixture-first design.

It is designed around three ideas:

  • Tests should read naturally at the top level.
  • Fixture usage should be explicit in the test signature.
  • Teardown should be written only for fixtures that actually need it.
test("factorial") do
expect(1 * 2 * 3).to eq(6)
end

Fixture-driven tests use required Ruby keyword arguments:

test("GET /me") do |logged_in_client:|
response = logged_in_client.get("/me")

expect(response.status).to eq(200)
end

What to Read First

Current Scope

Smartest currently focuses on the MVP runner:

  • top-level test
  • class-based fixtures
  • keyword-argument fixture injection
  • fixture dependencies through keyword arguments
  • fixture cleanup
  • suite-scoped fixtures through suite_fixture
  • suite hooks through around_suite
  • test hooks through around_test
  • skipped and pending tests through skip and pending
  • console reporting
  • a CLI runner

Nested describe blocks, watch mode, parallel execution, and file-scoped fixtures are not part of the current MVP.