私はプロジェクトの作成をテストしています(rspec統合テストを使用)。なぜテストで作成するように指示したプロジェクトが見つからないのか疑問に思っています...これが私のコードです
1 require 'spec_helper'
2
3 describe "Projects" do
4 describe "create project" do
5
6 before :each do
8 @valid_project = { :name => 'Myproject', :description => 'project description' }
9 end
10
11 it "should create and redirect to a new project" do
12 lambda do
13 visit root_path
14 click_link 'new project'
15 fill_in :name, :with => @valid_project[:name]
16 fill_in :description, :with => @valid_project[:description]
17 click_button 'Create'
18 current_path.should == project_path(Project.find_by_name!(@valid_project[:name]))
19 page.should have_content 'Project has been created'
20
21 #in adition, all these don't work and I don't know why...
22
23 #response.should render_template :new
24 #page.should have_content 'Myproject'
25 #response.should have_selector('h1', :content => 'Myproject')
26
27 end.should change(Project, :count).by(1)
28 end
29 end
30 end
この行18は、次のエラーを返します。
ActiveRecord :: RecordNotFound:名前=Myprojectのプロジェクトが見つかりませんでした
理由がわかりません...上記のコードのコメントには、機能しないテストがいくつかあります。また、理由もわかりません...助けてくれてありがとう。