0
所以我試圖使用警衛rspec只爲紅寶石,而不是鐵軌。測試運行良好,但唯一的問題是它只查找spec.rb文件,並沒有查找實際的文件。所以我有一個失敗的arabic_to_roman.rb和arabic_to_roman_spec.rb。 Guardfile安裝在roman_numerals_kata目錄下。它只查找_spec.rb文件而不查找arabic_to_roman.rb。這裏是Guardfile的樣子運行Guard rspec紅寶石卡塔
1 # A sample Guardfile
2 # More info at https://github.com/guard/guard#readme
3
4 guard 'rspec' do
5 watch(%r{^spec/.+_spec\.rb$})
6 watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
7 watch('spec/spec_helper.rb') { "spec" }
8
9 # Rails example
10 watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
11 watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}# {m[2]}_spec.rb" }
12 watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/# {m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
13 watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
14 watch('config/routes.rb') { "spec/routing" }
15 watch('app/controllers/application_controller.rb') { "spec/controllers" }
16
17 # Capybara features specs
18 watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
19
20 # Turnip features and steps
21 watch(%r{^spec/acceptance/(.+)\.feature$})
22 watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
23 end
24
目錄結構 arabic_numerals_kata Guardfile arabic_to_roman.rb 規範 arabic_to_roman_spec.rb 這應該是罰款權?另外我想通了,如果我編寫代碼在arabic_to_roman_spec.rb文件它的作品。所以它看起來像它唯一的掃描_spec文件,而不是由於某種原因實際的arabic_to_roman.rb文件。 – TakaGoto
根據Guardfile設置,arabic_to_roman.rb應該嵌套在一個'lib'文件夾中供它觀看。或者將Guardfile中的行更改爲:watch(%r {^(。+)\。rb $}){| m | 「spec /#{m [1]} _ spec.rb」}'。我建議模仿默認的文件夾佈局,儘管如我的答案中所示,而不是像我剛剛那樣調整guardfile。 – ZPH
當這解決了您的問題時,請將問題標記爲已回答,以幫助未來人員提出類似問題。 – ZPH