Clean Functional Tests

* Posting on behalf of James Mead (jamesmead44@gmail.com) *

Sounds interesting. I've been doing my own monkey-patching recently
(http://mocha.rubyforge.org/classes/MultipleSetupAndTeardown.html) and
have noticed a couple of other people
(http://www.agilewebdevelopment.com/plugins/testcase_setup_and_teardown_with_blocks
and http://mabs29.googlecode.com/svn/trunk/plugins/active_test/lib/active_test/base.rb)
doing similar things. It would be really good to get support for
multiple setup/teardown methods into the Test::Unit library.

James.

P.S. Apologies if this message is duplicated, I noticed that I sent to
the old list address and am therefore re-sending.

I’d like class methods to declare setup/teardown behavior:

setup :load_fixtures, :begin_transaction
teardown :rollback_transaction

same with teardown

def self.setup(*methods, &block)
setup_methods.concat(methods)
setup_methods << block if block_given?
end

unfortunately difficult to override, have to replace wholesale

def run

begin
#instead of setup
call_setup_methods

ensure
begin
#instead of teardown
call_teardown_methods

end

jeremy

My plugin allows you to do that. It’s a huge hack, but it works for me! As far as I know it is completely backwards compatible.

http://svn.viney.net.nz/things/rails/plugins/testcase_setup_and_teardown_with_blocks

-Jonathan.

We use the same approach (method_added). I hope test/unit breaks its run method into more digestible chunks to make this unnecessary.

jeremy