Adds test-case wide startup and shutdown hooks to test/unit (or shoulda). Here's an example:
require "test_startup"
class MyTest < Test::Unit::TestCase
startup do
start_some_server
end
def test_should_access_server_properly
# whatever
end
def test_should_do_other_servery_things
# also, whatever
end
shutdown do
stop_the_server
end
end
This avoids the overhead of starting the server for each and every test case.
You should probably think long and hard about whether or not you need this. In general, it's a good idea to have each test operate independently of each other, and this technique is only useful when it takes so long to setup the server (for example) that performing that for every test is not practical.