Test framework shipped with the Eventide project. Usable in any Ruby project, including Rails. Initial release March 31, 2016 on RubyGems after Nathan Ladd and Scott Bellware sketched it in an Austin coffee shop — built on the premise that tests are just procedures, so test files should be plain Ruby scripts. Initial DSL: context, test, assert, refute (assert_raises/refute_raises added later). No assert_equal, assert_in_epsilon, assert_json — values are shown via context/detail output methods so data is visible on both passing and failing runs (unlike assertion-message data hidden inside exceptions). V1 rewrite was produced via strict TDD to improve design; in the process Ladd discovered Test Bench can test itself because its DSL operates in isolation from the test framework, which implies the DSL (a `TestBench::Fixture` module) can be included in any class to turn it into a reusable test object. Fixtures can depend on other fixtures (e.g. a message-handler fixture calling a schema-equality fixture on events) and are themselves testable — you can prove a fixture passes when it should and fails when it should. ~5000 lines of code, took roughly five years of spare-time work. Pavel jokes that to use it you must 'forget anything you've ever learned about RSpec'.