0

私は C++/unix で作業している開発者です。

追加する新しいコードに対して google-test を記述することは必須です。相当な努力が必要だと感じます。

単体テスト (Google テスト) を自動化できますか? つまり、単体テストスイートを作成するためのインテリジェンスを備え、少なくともコードの 70% をカバーする自動化スクリプトを作成できますか。

これが難しいことは承知していますが、これが可能かどうかを知りたいだけです。可能であれば、そのために学ぶ必要がある概念は何ですか。私はこれを長期的な目標と考えており、自由な時間を使うことができますこれを学習/開発するには、これについて私を助けて、これに関する基本的な知識を得ることができるリンク/ソースを提供してください。

4

1 に答える 1

1

この考え方は根本的に間違っていると思います。

このような自動化されたプロセスが、関数を実装するコードを参照せずに、テストされている関数の意図をどのように推測できるかわかりません。これが当てはまり、コードにバグがある場合、テストは自動的に作成され、間違った結果をチェックします。

私の意見では、すべてのクラスと関数に対して gtest ボイラープレートを自動的に作成するプロセスを用意する方がはるかに合理的です。したがって、たとえば、すべてのクラスに対して適切な名前のテスト フィクスチャを作成し、すべてのパブリック関数に対してテスト ケースを作成できます。実際のテスト ケースは、おそらく次のようなものだけを含むようにデフォルト設定されます。

FAIL() << "Test not yet implemented."

このようなツールはすでに存在している可能性があります。

これは、達成しようとしているものとはかけ離れていますが、テスト プロセスから反復性がいくらか取り除かれます

于 2012-10-11T01:34:19.957 に答える