我如何避免在hardcoding
这里的身份证?以下是我对ID 22进行硬编码的代码。
it "can find an Project that this user belongs to" do
project = Project.find( id: '22', authorization: @auth )
hashed_response = FactoryGirl.build(:project_json).marshal_dump.to_json
expect(project.to_json).to eq(hashed_response);
end
下面是完整类的代码。
require 'spec_helper'
describe Project do
before(:all) do
@project = FactoryGirl.create(:project, name: "123", description: "123");
@user = FactoryGirl.create(:user, email: "[email protected]", password: nil, code: nil);
user = User.login(FactoryGirl.create(:user, email: "[email protected]",
password: "123", code: 0));
if user
@auth = user['auth']
end
end
it "can create an Project" do
expect{Project.create(project: @acc, user: @user)}.to
change{Project.all(authorization: @auth).size}.by (1);
end
it "can find an Project that this user belongs to" do
project = Project.find( id: '22', authorization: @auth )
hashed_response = FactoryGirl.build(:project_json).marshal_dump.to_json
expect(project.to_json).to eq(hashed_response);
end
end
我在看一些教程http://everydayrails.com/2012/04/07/testing-series-rspec-controllers.html,但是我不明白它们的传递方式。
如果项目可以属于用户,则可以...
project = Project.find_by( user_id: @user.id , authorization: @auth )
如果用户可以属于一个项目,那么您应该...
project = Project.find_by( id: @user.project_id, authorization: @auth )
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句