古いプロジェクトにいくつかの新機能を追加します。レガシーコードの機能に頼ることなく、いくつかのクラスを単体テストできます。しかし、私は、機能の次の段階がちょうどそれが私が基本的にプロジェクトから(または少なくともセットアップのほとんど)メインを実行する必要があるように見えるレガシーコードに依存しているポイントになった私の最新のクラスをユニットテストすることができます。ユニットテストをしようとするとばかばかしい依存関係に対処するためのアプローチはありますか?私は機能 の次の段階は、私が は基本的に、少なくともほとんどのプロジェクトからの主(またはを実行する必要がありますようにそれはそうレガシーコードにちょうどそう依存しているポイントに得ているが多数の依存関係を持つユニットテストの正確さ
-3
A
答えて
0
私の最新のクラスをユニットテストできるようにするには、 をセットアップしてください)。
私はこの種の問題に遭遇しました。あなたは4つの方法で小さなクラスを書くように求められます。
残念ながら、コードではレガシークラスのオブジェクトを作成する必要があります。したがって、レガシーコードのライブラリを構築し、コードをリンクし、3ダースのプロセスを実行し、データベースを立ち上げ、データベースにサンプルデータを埋め込み、プロセスの構成を設定し、キックインするイベントをスケジュールする必要があります。
あなたの入力を模倣することによって、その痛みの一部を避けることができます(私はすでにそれを行ったと仮定します)。
レガシークラスをスタブアウトすることもできます。コントロールにレガシークラスのソースコードがない場合は、レガシークラスのメソッドを選択的にスタブすることもできます(スタブライブラリを実際のレガシーライブラリよりも前にコンパイラのコマンドラインに置く)。
ユニットテストで発生するさまざまな種類の問題に対処するためのさまざまなトリックがあります。特定の問題を念頭に置いている場合は、それをあなたの質問に追加して、人々がより良い方法であなたを助けることができるようにします。
+0
ありがとう!あなたは私にいくつかのものを見せてくれました。 – nlsnyder
関連する問題
- 1. ユニットテストの依存関係について
- 2. ユニットテストの依存関係プロパティ
- 3. ユニットテストのJMS依存関係
- 4. 依存関係を持つ工場をユニットテストする方法
- 5. 多くの依存関係を持つ角度コントローラのテスト
- 6. Wpfメインビュー他の多くのビューモデル依存関係を持つモデル
- 7. 依存関係を持つオブジェクトのデシリアライズ
- 8. ジョブジョブの依存関係を持つトルクジョブ
- 9. Mavenの依存関係を持つjava.lang.NoClassDefFoundError
- 10. サービス(依存関係あり)angular2のユニットテスト
- 11. 依存関係とテストの依存関係を持つjarを作成する
- 12. ネットワーク接続の依存関係を持つメソッドの書き込みユニットテスト
- 13. 依存関係を持つコンポーネントのユニットテスト、何が問題なのですか?
- 14. cmake依存関係を持つCメタ
- 15. クライアントアーティファクトを持つejb - ランタイム依存関係?
- 16. 依存関係を持つSbtタスク
- 17. フィールド依存関係を持つLuceneクエリ
- 18. 依存関係を持つAntスクリプト
- 19. 依存関係を持つコンバーター
- 20. 依存関係を持つC++キュー
- 21. 依存関係を持つPythonスクリプト
- 22. 依存関係を持つSparkR雇用
- 23. 依存関係を持つカスタムMSBuildタスク
- 24. リモートURL依存関係を持つMakefile
- 25. リファクタルーター - 依存関係を持つビュー
- 26. 依存関係を持つJestユニットクラス
- 27. 依存関係の依存関係
- 28. 依存関係のプロパティ依存関係
- 29. 複数の値を持つ依存関係?
- 30. 共有依存関係を持つ複数の静的ライブラリ - iOS
Do not spam tags! Cは別の言語です。 – Olaf
_多数の依存関係を持つUnit Testを正しく行う方法_ Refactor。 – erip
私はタグをスパムしていません。私のプロジェクトのレガシーコードの多くはcです。しかし、このプロジェクトの新しい側面はC++で書かれています。また、リファクタリングはオプションではありません。 – nlsnyder