0
工作,我有兩個以下型號:類method_1沒有通過測試,但它在軌道控制檯
class Project < ActiveRecord::Base
has_many :tasks, inverse_of: :project
attr_accessible :tasks_attributes
def method_1
tasks.map |t|
t.name
end
end
class Task < ActiveRecord::Base
belongs_to :project, inverse_of: :tasks
attr_accessible :name
validates :name, presence: true
end
我正在寫project_spec.rb測試。我測試協會和驗證,他們都很好。但不知何故,我無法通過method_1的測試。我改變了method_1代碼,只是爲了檢查。我得到的結果是[無],即tasks.first是零。我不知道我錯過了什麼。
def method_1
[tasks.first]
end
我的測試代碼,
...
let(:project) do
build_stubbed(:project, :project_data)
end
describe "#method_1" do
before do
project.stub_chain(:task, :name).and_return("task A")
end
subject {project.method_1}
it "should be the name of the task of the project" do
should eq ["task A"]
end
end
當我本地主機上運行
:3000,它有同樣的問題。但在rails控制檯中,method_1也可以正常工作。任何人都可以幫忙它困擾了我好幾天。
不相關,但:'tasks.collect(&:name)' –