1

puts戻り値としてコンソールに戻るテストを実行していますnil

問題は、putsRSpec でテストを実行するたびに出力が出てくることです。

この出力をどのようにテストし、テスト コンソールに出力が表示されないことを確認しますか?

4

1 に答える 1

2

1 つの方法は、コードをリファクタリングして、IO オブジェクトを入力として取り、それを呼び出して出力を与えるputsことです。通常の使用では $stdout を使用しますが、テストでは StringIO オブジェクトを使用します。

それが不可能な場合は、テスト中のクラスに特別な puts メソッドを定義することをテスト内で検討することができます。これにより、リアル プット メソッドが隠されます。

于 2013-08-28T15:22:10.013 に答える