1

私が書いているエンジン宝石のテストを書こうとしています。Rspecを使用していますが、テストは正常に実行されているようです。しかし、ビューが「will_paginate」や「​​ransack」などの別のgemのヘルパーを使用する場合は常に、「undefinedmethod」エラーが発生します。

他のgemを(engine.gemspecファイルに加えて)自分のgemのGemfileとダミーアプリのGemfileに含めようとしましたが、同じエラーが発生します。また、spec/spec_helper.rbファイルにgemを含めてみました。

だから私はここで言及されていることのほとんどを試しました:

(Railsではなく)gemをテストするようにRSpecをセットアップします

通常、通常のRailsアプリのRspecテストの場合、通常のRailsアプリのテストを実行するときにこの問題が発生しないため、これらのヘルパーは何らかの方法で含まれているようです。

また、ビュー内のURLヘルパーにengine.resources_pathのような名前空間を付ける必要がありました。

それが私が台無しにしたいくつかの構成の症状であるかどうかはわかりません。

別のアプリにマウントしてブラウザで表示すると、エンジン内のすべてが正常に動作します。

何か案は?

4

1 に答える 1

1

とにかくgemは独自のメソッドをテストする必要があるため、gemからメソッドをスタブ化するのがより良いアプローチであることがわかります。何か誤解があれば教えてください。ありがとう!

于 2012-10-03T22:02:34.540 に答える