2013-12-11 60 views
18

我在移植上軌紅寶石的一部分中間投射到寶石。我用bundle gem來創建新的gem目錄。對於libspec目錄,創業板的項目佈局是這樣的:束寶石:rspec的說:「沒有發現實例」

|- lib 
| |- mylib 
| | |- MYCLASS.rb 
| | |- version.rb 
| | 
| |- mylib.rb 
| 
|- spec 
    |- spec_helper.rb 
    |- mylib 
     |- test_MYCLASS.rb 

spec/spec_helper.rb內容:

require "mylib" 

RSpec.configure do |config| 
end 

mylib.gemspec的相關部分,由bundle gem命令生成:

spec.files   = `git ls-files`.split($/) 
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } 
spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) 
spec.require_paths = ["lib"] 

當我運行bundle exec rspec spec,我得到

No examples found. 


Finished in 0.00004 seconds 
0 examples, 0 failures 

有兩個問題。

  1. 是我對這個寶石「正確」的目錄佈局? (假設有官方佈局)
  2. 爲什麼我的測試不能運行?當我做bundle exec rspec spec/mylib/*,測試在spec/mylib/test_MYCLASS.rb運行,而如果我做bundle exec rspec spec/mylib/,它說沒有的例子中。

我已經看過類似的問題,並搜索了一下,但沒有一個解決我的問題。

+0

是如此看來,混帳我以前不計算規範文件夾。請輸入'git show HEAD:spec'命令來指定我們。 –

回答

39

與我的同事幫忙解決了這個問題。事實證明,spec文件必須以_spec後綴命名,bundle exec rspec spec才能起作用。我以前用test_前綴命名規格文件。使用捆綁1.3.5和RSpec 2.14.1

+0

該死的,謝謝。我把'_specs.rb',這就是我的問題。 –

+0

以及 - 我的規格目錄是規格 – bonhoffer

+0

同樣的問題,謝謝! – akmal