スレッドをテストしようとしています。上記のコードに顧客、会場、メッセージがすべて含まれていると仮定しますが、投稿すると非常に長くなります。「メッセージ」変数をテストしようとしていますが、これはインスタンス変数ではなく、スレッド内にあるため、簡単にはテストできません。スレッドをスタブ化することが rspec でこれをテストするための正しいルートであると想定していますが、「メッセージ」変数を正確にテストする方法について他に提案があれば非常に役立ちます。これが私がやっていることの基本的なバージョンです:
Class Messages def order_now conf = venue.confirmation_message message = "Hi #{customer.first_name}, " if conf && conf.present? message << conf else message << "your order has been received and will be ready shortly." end Thread.new do ActiveRecord::Base.connection_pool.with_connection do Conversation.start(customer, venue, message, {:from_system => true}) end ActiveRecord::Base.connection_pool.clear_stale_cached_connections! end end end
前もって感謝します!