This is a hard problem, that i'm still looking for a good answer.
I've spent time investigating it. The problem is that there are two
different versions of add_assertion, the method that updates the assertion
count.
One of them is in Test::Unit::TestCase -- and it is what you get if you do
what Warren did below.
The other is is Test::Unit::Assertions -- and this is the one that doesn't
actually count your assertions.
The solution? I don't know. I've been meaning to write up this problem on
ruby-talk and see if i could get some help there with the problem.
With time i'd like to emulate WET and add methods like ie.text_field(:name,
'foo').verify('bar') but this problem needs to get figured out first.
I suggest raising this issue on that forum.
Bret
At 10:43 AM 8/22/2005, Warren Pollans wrote:
Hello,
I have a similar problem/confusion. My assertions are contained in
instance methods of classes defined in an external file - so I don't
think the suggestion below is applicable - at least it didn't work
when I tried it. The page I'm testing has 4 forms - forms 1 and 4 are
nearly identical (aside from form element names) and forms 2 and 3 are
also similar - so putting the assertions into instance methods seemed
the natural thing to do. My test script follows - the results show only
one assertion - in test_a. I'd like to be able to see the total count
of assertions. The tests work fine - I'd just like to see more
information - I am imagine I could keep the count myself but suspect
that there must be a way to have watir or test/unit do it for me.
Any suggestions would be appreciated. I'm still very new to ruby and
watir and windows - I'm porting tests from perl and WWW::Mechanize -
Over-explaining accepted :-)
Here's my test script:
++++++++++++++++++++++++++
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 ==
__FILE__
require 'unittests/setup' ## from watir unittests
require 'unittests/filter_settings' ## classes defined here
$url = url
$uid = userid
$pas = password
class TC_filtersettings < Test::Unit::TestCase
include Watir
def setup()
$ie.goto($url)
end
def test_a_login
$ie.text_field(:name, "userid").set($uid)
$ie.text_field(:name, "password").set($pas)
$ie.button(:value, "Login").click
$ie.wait
assert( $ie.title =~ /Email Defense Solution/, "Got to
mailset_spam page" )
end
## Spam Settings
def test_b_spam
Filterbutton.new(1, "spam_handling", 1).button_test()
Filterbutton.new(1, "spam_handling", 2).button_test()
Filterbutton.new(1, "spam_handling", 3).button_test()
end
## Virus Settings
def test_c_virus
Filterbutton.new(4, "virus_scanning", 1).button_test()
Filterbutton.new(4, "virus_scanning", 2).button_test()
end
def test_d_whitelist
wl = Filterlist.new('whitelist', 'form1')
wl.clear_list()
wl.getAddlist.each {|x| wl.add2list(x[0], x[1])}
wl.getSearchlist.each {|x| wl.search_list(x[0], x[1])}
wl.delete_first()
wl.clear_list()
end
def test_e_blacklist
bl = Filterlist.new('blacklist', 'form2')
bl.clear_list()
bl.getAddlist.each {|x| bl.add2list(x[0], x[1])}
bl.getSearchlist.each {|x| bl.search_list(x[0], x[1])}
bl.delete_first()
bl.clear_list()
end
end
++++++++++++++++++++
On or about Fri, 19 Aug 2005 19:11:48 -0500
Bret Pettichord <[EMAIL PROTECTED]> allegedly wrote:
> I suggest that you put your library methods in a Module. Thus:
>
> # library.rb
> module MyLibrary
> def my_library_method(arg)
> # code...
> end
> end
>
> # tests.rb
> require 'test/unit'
> require 'library.rb'
>
> class TC1 << Test::Unit::TestCase
> include MyLibrary
> def test_method
> my_library_method arg
> # more code
> end
> end
>
>
_______________________________________________
Wtr-general mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-general
_____________________
Bret Pettichord
www.pettichord.com
_______________________________________________
Wtr-general mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-general