我正在尝试检查我的RESTful控制器中的新操作是否设置了所需Object类型的实例变量.看起来非常典型,但执行它时遇到了麻烦
客户控制器
def new
@client = Client.new
end
Run Code Online (Sandbox Code Playgroud)
测试
describe "GET 'new'" do
it "should be successful" do
get 'new'
response.should be_success
end
it "should create a new client" do
get 'new'
assigns(:client).should == Client.new
end
end
Run Code Online (Sandbox Code Playgroud)
结果是...
'ClientsController GET 'new' should create a new client' FAILED
expected: #,
got: # (using ==)
这可能是因为它试图比较两个不同的活动记录实例.那么,我如何检查控制器是否设置了一个包含Client模型新实例的实例变量.
$ clients = $ CLIENT-> find($ options); $ client = $ clients [0];
编辑:我意识到我应该更清楚.$ CLIENT-> find总是返回一个对象数组,但是我想要一行代码将数组(只有一个对象)转换成一个对象.