【发布时间】:2011-09-11 20:19:08
【问题描述】:
对于我的 Rails 3 应用程序,我将 FactoryGirl 与 shoulda 上下文 (1.0.0.beta1) 和匹配器 (1.0.0.beta3) 一起用于我的功能测试。 我的问题:在下面的代码示例中,assign_to 测试失败,因为 @user - 令我惊讶的是 - 结果是 nil。在外部设置块中,@user 被分配了一个有效的模型实例,但在 should assign_to 语句中无法访问实例变量。为什么会这样?编写该测试的正确方法是什么?
class UsersControllerTest < ActionController::TestCase
context "as admin" do
setup do
@user = Factory.create(:user)
end
context "getting index" do
setup do
get :index
end
should assign_to(:users).with([@user])
end
end
【问题讨论】:
-
我遇到了同样的问题,似乎是一个错误。它只发生在从 3.0.0.beta2 更新到最新的 git HEAD 之后。但是,我需要 master 的最新版本,因为一年多没有发布了。
标签: ruby-on-rails-3 functional-testing shoulda