2016-12-16 5 views
0

サードパーティのAPIを使用しており、ベンダー環境で動作するビルドDLLがあります。これらのdllをどのようにテストできますか? APIインターフェイスは非常に深く、あるDLLが別のDLLを参照し、別のDLLを参照するなどして、これらのインターフェイスオブジェクトを大量に使用します。これらは本質的に外部のベンダー環境では実行できませんサードパーティAPIのユニットテスト

これは本当にテスト可能ではないか、C#環境で類似のベンダーインターフェイスを熟知している人がいますか?

+1

このような状況では、ベンダーコードとドメイン固有のコードとの間に抽象度を作成することができます。その後、そのレベルを模擬し、ドメイン固有のコードをテストすることができます。 – Johnny

答えて

0

可能であれば単純なファサードでラッピングし、ファサードから作成されたインターフェイスを模擬することをお勧めします。それは状況にもよるが、これはかなり難しいかもしれない。

0

私は2つの方法を検討します:特定のサービスから抽象

  1. をし、あなたのロジックとサービスクライアントとの間に別の層を実装しています。次に、そのレイヤーを模擬し、テストによってコードをカバーします。それはかなり複雑かもしれません。
  2. サードパーティのAPIクライアントがインターフェイスまたは抽象クラスを使用して提供されている場合(コードで特定の実装が使用されていない場合)、インターフェイスを返すクライアントのファクトリを作成してそのファクトリをモックできます。スペアレイヤの導入を避けることができます。
関連する問題