module Rooibos::TestHelper

Assertions and test utilities for Rooibos applications.

Custom commands run in background threads. Forgetting to include Command::Custom causes cryptic Ractor errors. Validating protocol compliance manually is tedious.

This module provides Rooibos-specific assertions. It also includes RatatuiRuby::TestHelper, giving you access to with_test_terminal, inject_key, etc.

Use it in Minitest classes to validate commands and control test terminals.

Example

class TestMyApp < Minitest::Test
  include Rooibos::TestHelper

  def test_app_exits_on_ctrl_c
    with_test_terminal do
      inject_key(:ctrl_c)
      Rooibos.run(MyApp)
    end
  end
end