From: Pit Capitain Date: 2005-11-21T01:22:44+09:00 Subject: Re: Create dynamic tests for Test::Unit Achim Domma (SyynX Solutions GmbH) schrieb: > I have some experiences in generic programming in python and .Net but > I'm quite new to ruby. I want to test a web app using watir. There are > many forms with similar structure which have to be filled with data. So > my idea was to create a YAML file which holds the location of a form, > the type of the form and the data to be filled in. > > My problem is, that I don't see on how to create dynamicaly a single > test for each entry in the yaml file!? Am I not yet thinking in ruby? > Could somebody guide me to the right direction on how to solve this task? Hallo Achim, maybe this example gets you going: require "test/unit" DynamicTest = Struct.new :name, :expected, :actual DYNAMIC_TESTS = [ DynamicTest.new( "test_one", 123, 123 ), DynamicTest.new( "test_two", 125, 123 ), DynamicTest.new( "test_three", 127, 127 ), ] Class.new Test::Unit::TestCase do DYNAMIC_TESTS.each do |t| define_method t.name do assert_equal t.expected, t.actual end end end Running this, I get Loaded suite C:/tmp/r Started ..F Finished in 0.047 seconds. 1) Failure: test_two() [C:/tmp/r.rb:15:in `test_two' C:/tmp/r.rb:14:in `test_two']: <125> expected but was <123>. 3 tests, 3 assertions, 1 failures, 0 errors Regards, Pit