6
ユニットテストフレームワークは本当に必要ですか?
現在、私の仕事では、C ++アプリケーション用の単体テストの大規模なスイートを用意しています。ただし、単体テストフレームワークは使用しません。それらは、基本的にassertとcoutをラップするCマクロを単に利用します。何かのようなもの: VERIFY(cond) if (!(cond)) {std::cout << "unit test failed at " << __FILE__ << "," << __LINE__; asserst(false)} 次に、次のような各テストの関数を作成します。 void CheckBehaviorYWhenXHappens() { // a bunch of code to run the test // VERIFY(blah != blah2); // more VERIFY's as needed } CIサーバーは「ユニットテストに失敗しました」を選択し、ビルドに失敗し、開発者にメッセージを送信します。 また、セットアップコードが重複している場合は、本番環境にある他の重複コードと同じようにリファクタリングします。ヘルパー関数の背後にラップし、いくつかのテストクラスをラップして、頻繁に使用されるシナリオを設定します。 CppUnitやboostユニットテストのようなフレームワークがあることは知っています。これらはどのような価値をもたらすのだろうか?これらがテーブルにもたらすものを見逃していますか?それらから得ることができる何か有用なものはありますか?私たちが持っているものは非常にシンプルでうまく機能しているように見えるので、特に本当の価値を追加しない限り、依存関係を追加することをmしています。