バンドル gem: rspec に「例が見つかりません」と表示される
概要
私は Ruby on Rails プロジェクトの一部を gem に移植している最中です。新しい gem ディレクトリを作成するために、bundle gem を使用しました。 lib ディレクトリと spec ディレクトリの場合、gem のプロジェクト レイアウトは次のようになります。
|- 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
Bundle gem コマンドによって生成された、mylib.gemspec の関連部分:
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
質問が 2 つあります。
同様の質問を調べたり、グーグル検索したりしましたが、どれも私の問題を解決しませんでした。
解決策
同僚の助けで解決しました。 spec ファイルには spec サフィックスを付けた名前を付ける必要があり、bundle exec rspec spec は機能することがわかりました。前に、spec ファイルに test プレフィックスを付けた名前を付けました。 Bundler 1.3.5 と rspec 2.14.1 を使用していました