[解決済み] レガシーコードへのユニットテストの追加 [終了しました]
2023-06-21 19:28:50
質問
レガシーなコードに後からユニットテストを追加したことがありますか? コードはどれほど複雑で、すべてをスタブやモックにすることはどれほど困難だったでしょうか? 最終的な結果は価値あるものだったでしょうか?
どのように解決するのか?
私が見つけた最良の方法は、ユニットテストを徐々に追加していくことです。
ですから、もしあなたがバグフィックスやリファクタリングのためにコードを触るつもりなら、最初にユニットテストを書いてください。 バグのためのユニットテストは、問題がどこにあるのかを証明するのに役立ちます。
リファクタリングの場合、ユニットテストを書きたいところですが、テストが書けないということもあるでしょうから、リファクタリングされる関数を呼び出す、高レベルのものを見つけて、その部分をユニットテストする必要があるかもしれません。 そして、攻撃的な関数をリファクタリングしながら、テストを書いて、その関数があるべきように動作していることを確認できるようにします。
これを簡単に行う方法はありません。
この質問は、より多くの提案の助けになるかもしれません。 どのように大規模でレガシーな(C/C++)コードベースにユニットテストを導入するのですか?
関連
-
[解決済み] フェイク、モッキング、スタビングの違いとは?
-
[解決済み] 抽象クラスをユニットテストする方法:スタブで拡張する?
-
[解決済み] ディレクトリ内のすべてのPythonユニットテストを実行するにはどうすればよいですか?
-
[解決済み] プライベートメソッドをテストすべきか、パブリックメソッドのみをテストすべきか?[クローズド]
-
[解決済み】典型的なテストディレクトリ構造でunittestを実行する
-
[解決済み】ユニットテストを実行せずにMavenプロジェクトをビルドする
-
[解決済み] テストが見つかりません。インストールされているテストのディスカバラーとエグゼキューター、プラットフォームとフレームワークのバージョン設定が適切であることを確認し、もう一度試してみてください。
-
[解決済み] Angular2でEventEmitterをテストする方法は?
-
[解決済み] F#の開発とユニットテスト?[クローズド]
-
[解決済み] パニックが発生したことを確認するRustのユニットテストはどのように書けばよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ユニットテストの命名のベストプラクティス [終了しました]。
-
[解決済み] ユニットテストは努力に値するか?[クローズド]
-
[解決済み] ユニットテストとインテグレーションテストの違いは何ですか?[重複あり]
-
[解決済み] テスト駆動開発のデメリット?[クローズド]
-
[解決済み] モッキングフレームワークにおけるモッキングとスパイの比較
-
[解決済み] 既存のプロダクションプロジェクトにユニットテストをうまく追加することができますか?もしそうなら、どのように、そして、それは価値があるのでしょうか?
-
[解決済み] Go の testing パッケージを使用してテストのセットアップを行うにはどうすればよいですか?
-
[解決済み] Junit: 統合テストと単体テストの分割
-
[解決済み] ユニットテストのROIを証明する確かな証拠はあるのか?
-
[解決済み] Jestでモックされたサービスが「jest.mock()のモジュールファクトリは、スコープ外の変数を参照することを許可されていません」エラーを発生させる