У меня есть очень простая проблема, для которой я не могу найти никакого решения.
Поэтому я использую Watir Webdriver с testunit для тестирования своего веб-приложения. У меня есть тестовый метод, который я хотел бы запустить с несколькими наборами тестовых данных.
Хотя я, конечно, могу использовать старые трюки с циклом, чтобы запустить его, но это покажет, что был запущен только 1 тест, а это не то, что мне нужно.
Я знаю, что в testng у нас есть @dataprovider, я ищу что-то подобное в testunit.
Любая помощь!!
Вот что у меня есть до сих пор:
[1,2].each do |p|
define_method :"test_that_#{p}_is_logged_in" do
# code to log in
end
end
Это прекрасно работает. Но моя проблема заключается в том, как и где я могу создавать данные, с которыми я могу зацикливаться. Я читаю свои данные из excel, скажем, у меня есть список хэшей, которые я получаю из excel, что-то вроде [{:name =>abc,:password = > test},{:name =>def,:password => test}]
Текущий статус кода:
class RubyTest < Test::Unit::TestCase
def setup
@excel_array = util.get_excel_map //This gives me an array of hash from excel
end
@excel_array.each do |p|
define_method :"test_that_#{p}_is_logged_in" do
//Code to check login
end
end
Я изо всех сил пытаюсь запустить цикл. Я получаю сообщение об ошибке "неопределенный метод `каждый' для nil:NilClass (NoMethodError)" в строке объявления класса
@excel_array
равно нулю, а не тому, что вы ожидаете. И этого не происходит при объявлении класса, так что эта часть вашего вопроса сбивает с толку. - person vgoff   schedule 08.11.2013