Я был бы признателен за помощь в сортировке ошибку в следующем коде:Зачем возникает ошибка в следующем коде?
require 'rubygems'
require 'watir'
require 'watir-webdriver'
require 'test/unit'
class TestGoogle < Test::Unit::TestCase
def setup
@browser = Watir::Browser.new :firefox
end
def testSignInLink
@browser.goto "http://google.com/"
po = PageObjects.new(@browser)
po.clickLinkSignIn
end
end
class PageObjects
def initialize(browser)
@browser = browser
end
def clickLinkSignIn()
@browser.link(:id, "gb_70").click
end
end
tg = TestGoogle.new
tg.setup
tg.testSignInLink
Ошибка является:
Uncaught exception: wrong number of arguments (0 for 1)
C:/Ruby193/lib/ruby/1.9.1/minitest/unit.rb:971:in `initialize'
C:/RubymineProjects/ditto/Google_01_TU_02.rb:28:in `new'
C:/RubymineProjects/ditto/Google_01_TU_02.rb:28:in `<top (required)>'
Линия 28:
tg = TestGoogle.new
Как ни странно, Затем сценарий завершается с представленной страницей входа google.
Обратите внимание, что утверждений нет - я делаю это за один маленький шаг за раз.
Добавлено после редактирования:
Инициализатором в C: /Ruby193/lib/ruby/1.9.1/minitest/unit.rb: 971
def initialize name # :nodoc:
@__name__ = name
@__io__ = nil
@passed = nil
end
Есть ли тест :: Unit :: TestCase требует, чтобы вы реализовали верхний метод в классе TestGoogle? IOW, это виртуальный в базовом классе? – KevinDTimm
'TestGoogle' просто наследует' initialize' из 'Test :: Unit :: TestCase'. Требуется ли для инициализатора 'Test :: Unit :: TestCase' параметр? Несмотря на то, что он, похоже, работает, в классе тестов есть что-то, что не работает, что вы, возможно, просто не используете на данный момент. – lurker
@mbratch: Вот код для инициализатора, что почти ничего не значит для меня: – OldGrantonian