クラス「rspec style」のスタブ化と拡張

概要

Rspec テストでは、「Queryable」クラスを作成して拡張しています。

  let(:queryable) do
    class Queryable
     include FeatureQuery
    end.new
 end

そのクラスはアプリには存在しませんが、FeatureQuery モジュールには存在します。このコードはうまく機能しますが、醜くてハックな感じがします。rspec double を使用して実行する方法はありますか?

解決策

これが「それほど醜くなく、ハッキーではない」とみなされるかどうかはわかりませんが、このテスト クラスに名前を付けることを回避する匿名クラスを作成できます。

let(:queryable) do
  Class.new.include(FeatureQuery).new
end

検討できる他のオプションは次のとおりです。