小编hea*_*thd的帖子

ArgumentError:断言消息必须是使用assert_select的String或Proc

我正在使用testunit 2.4.0为rails 3.1 app编写控制器测试.

我想断言某个标题没有出现在页面上.

我正在使用这样的assert_select:

assert_select 'h1', {:text => /Key Dates/, :count => 0}
Run Code Online (Sandbox Code Playgroud)

并收到以下错误:

ArgumentError: assertion message must be String or Proc: <</Key Dates/>
expected but was <"Planner Maternity leave">.>(<Test::Unit::Assertions::AssertionMessage>)
Run Code Online (Sandbox Code Playgroud)

我已经跟踪了这个事实,即创建一个实例并将其传递给测试单元的assert_select调用.但是在testunit 2.2版(2011年2月)中添加了检查,检查传入的消息的类型.这些检查触发了上面看到的.build_messageAssertionMessageassertArgumentError

我不确定错误在于测试单元是否过度严格或者assert_select是否传递了错误的对象类型.

你能建议如何最好地跟进吗?任何解决方法?

ruby ruby-on-rails testunit ruby-on-rails-3.1

5
推荐指数
1
解决办法
729
查看次数

标签 统计

ruby ×1

ruby-on-rails ×1

ruby-on-rails-3.1 ×1

testunit ×1