systir.rb

Path: lib/systir.rb
Last Update: Fri Jul 07 16:23:00 EDT 2006

DESCRIPTION

Systir stands for "SYStem Testing In Ruby". It’s a framework for automating system-level tests using domain-specific language, and contains some tools and hints on how to construct and utilize your own domain language.

The breakdown of using Systir for test automation is:

  1. Tester defines test steps using project- and technology-specific language.
    • Tests are written in files like authentication.test and order_placement.test
  2. The Toolsmith implements a driver to support the syntax of that language
    • In a project-specific module, the Toolsmith writes an extension of the Systir::LanguageDriver class to support the macros used in *.test
  3. The Tester’s "scripts" are gathered up by Systir, executed, and a report is generated.
    • Toolsmith writes a short script which uses Systest::Launcher to compose *.test files into a suite for execution.

TECHNICAL NOTE

Under the hood, Systir is an extension of Test::Unit. The output from executing the test suite should therefor be familiar to a Ruby coder. Additionally, it might be educational to the Toolsmith to understand that LanguageDriver is a derivative of Test::Unit::TestCase, and that all *.test files become test methods inside the TestCase which is then composed as a Test::Unit::TestSuite

Required files

test/unit   test/unit/ui/console/testrunner   test/unit/ui/xml/testrunner   find   stringio   ostruct  

[Validate]