Я пишу тест контроллера для приложения rails 3.1, используя testunit 2.4.0.
Я хочу утверждать, что определенный заголовок не отображается на странице.
Я использую assert_select следующим образом:
assert_select 'h1', {:text => /Key Dates/, :count => 0}
и получить следующую ошибку:
ArgumentError: assertion message must be String or Proc: <</Key Dates/>
expected but was <"Planner Maternity leave">.>(<Test::Unit::Assertions::AssertionMessage>)
Я отследил это до того факта, что assert_select
вызывает build_message
, который создает экземпляр AssertionMessage
и передает его тестовому модулю assert
. Однако в версии 2.2 testunit (февраль 2011 г.) были добавлены проверки, которые проверяют тип передаваемого сообщения. Эти проверки запускают ArgumentError
, показанный выше.
Я не уверен, связана ли ошибка с чрезмерно строгим тестовым блоком или с утверждением_select, передающим неправильный тип объекта.
Не подскажете, как лучше поступить? Любые обходные пути?
:text
должно быть строкой, а не шаблоном? - person jefflunt   schedule 10.10.2011