Simply put, this is a ruby testing library which asks questions in order to determine compliance.
That is, you ask the user questions with "ask", and test results with "expect". You can also give instructions with "instruct".
The entire testing suite is evaluated using the command-line. e.g.
$ detective ./example_tests.rb We should follow instructions. Follow instructions, press enter [press RETURN to continue] Enter 5: 5
In a similar fashion to rspec, you put your tests in "describe" or "it" blocks.
describe "Cool feature" do instruct("We will be testing this cool feature") it "should show the correct word" do instruct("Go to coolwebapp.com") ask("What does it say in the middle of the front page?").expect("Cheezburger") end end
detective tests1.rb tests2.rb ...