0

アプリケーションの統合テストには rspec を使用し、受け入れテストにはキュウリを使用する予定です。両方に同じページ オブジェクトを使用したいと考えています。ページオブジェクトを lib ディレクトリに配置し、きゅうりにオブジェクトを表示することができましたが、何らかの理由で rspec が lib フォルダー内のオブジェクトを表示できません。

require_all メソッドを使用してみました。したがって、私の仕様ヘルパーには次のものがあります。

$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
require 'require_all'
require_all('lib') 

私のフォルダ構造は次のとおりです。

>selenium
  >features (this contains my cucumber scenarios, support dir with env file etc)
  >lib (this is the folder with the page objects contained in sub directories)
  >spec
    spec_helper.rb
    >features (rspec scenarios)
    >support

コマンド rspec testfile.rb を使用してテストを実行しようとすると、次のエラー メッセージが表示されます。「rescue in require_all」: no such file to load -- lib (LoadError)'

ここで私が間違っていることを知っている人はいますか? どんな助けでも大歓迎です!

ありがとう!

4

1 に答える 1

0

require_all作業ディレクトリに相対的なフォルダーを探しています。spec/features フォルダーから rspec コマンドを実行していると仮定すると、require_all('lib') は features 内の lib フォルダー (つまり、spec/features/lib) を探します。私は、require_all が $LOAD_PATH をチェックするとは思わない。

require_rel現在のファイルに相対的であるため、代わりに使用することをお勧めします。spec_helper.rb で、代わりに次のようにします。

require 'require_all'
require_rel ('../lib')
于 2013-10-17T01:15:56.353 に答える