Pexテストを作成して、DLLとそのDLLによって制御されるハードウェアをテストしますか?
-
10-07-2019 - |
質問
DLLおよびそのDLLによって制御されるハードウェアをテストするためのPexテストを作成しますか?
DLLによって制御されるAPIを備えたハードウェアがいくつかあります。 APIの適切な部分を呼び出してテストを実行するnunitでいくつかのユニットテストを作成しました。
たとえば、「データ取得テスト」があり、1。open、2。read one side and 3. send on otherであり、assertはデータが正しいかどうかです。
私は、Pexがそのデータを操作する上で良い仕事をするかもしれないと考えています。
私の質問は、DLLの上に座っているので、ここでPexを実装するにはどうすればよいのかをテストするためにいくつかのことをまとめる必要があるからです(現時点ではPexのほとんどを知っています)。
何らかの方法で、読み取りおよび送信したDLLの上で制御するAPIを作成し、Pexがこのレイヤーに移動してテストを作成する必要がありますか?
編集: 私はいくつかの研究をさらに行い、で素晴らしいビデオを見ました http://channel9.msdn .com / posts / Peli / Getting-started-with-Pex-in-Visual-Studio-2008 /
これを行う能力に疑問を持っています。 Pexのようなサウンドはテストを作成するのに最適ですが、実際にはシステム全体ではありません(apiとハードウェアとデータ)
解決
テストを生成するためにコードをインストルメント化する必要があるため、外部の動作に到達しません。 APIが非常に薄く、あまり効果がない場合は、APIから多くを得ることができません。
ハードウェアコールとともにそのAPIにかなりの量のロジックがある場合は、ハードウェアと実際のやり取りを行うコードからすべてを分離します-インターフェースを定義し、残りのコードでそれを使用します。これにより、関連するすべてのロジックで使用できるようになります。
上記には、データの解析/分析などを送信/受信から分離することが含まれます。すべてをカバーすることができます。