1

gtestを使用してC++でユニットテストを開始したばかりですが、voidメソッドのテストについて質問があります。

クラスのすべての生徒の名前を出力するメソッドvoidprintNames()があるとします。

  1. テストを使用して、メソッドが正しい名前を出力しているかどうかを確認する方法はありますか?

  2. または、そのようなことをテストする必要さえありますか?

  3. メソッドに文字列を返すようにしてから、返された文字列を、クラスの生徒のすべての名前を連結した文字列でテストできます。それは「良い」解決策でしょうか?

4

1 に答える 1

3

私はおそらくprintNamesostreamをパラメーターとして取り、おそらくstd::coutデフォルト値として提供するように書くでしょう。

テストする場合は、stringstream代わりにへの参照を指定して、出力をキャプチャし、期待される結果と比較できるようにします。

于 2013-03-03T03:56:15.953 に答える