0

それぞれにさまざまな C++ メソッドを含む 63 個の DLL があります。固定入力値を使用して、いくつかのメソッドの出力を検証したいと考えています。コンパイルビルドプロセス中にDLL自体で単体テストを実行できるかどうか疑問に思っています。

したがって、DLL のコンパイルビルドは、Visual Studio の [出力] ウィンドウに単体テストの結果を表示します。

実行可能ファイルを作成してメソッドを呼び出すことで、このシナリオを検証できることはわかっています。しかし、実行ファイルがなくても可能ですか?

4

4 に答える 4

2

あなたの質問をそのまま受けとると、答えは「いいえ」です。なぜなら、DLL をコンパイルし終えていないときは、DLL をテストできないからです。また、その DLL をロードするには何らかの実行可能ファイルが必要なので、スクリプト言語 (ctypes を使用した Python が思い浮かびます) でロードするか、実行可能ファイルを作成します。

shivakumar によって提案されているように、Visual Studio のコンパイル後のステップからそれを呼び出すことは、おそらく出力ウィンドウに結果を取得する唯一の方法です。個人的には、これを外部のビルド スクリプトから実行することを好みますが、多くのクロスコンパイルも行っており、コンパイル後のステップから実行することはできません。これにより、何かが失敗した場合の単体テストのデバッグも容易になります。

于 2013-05-05T19:54:27.300 に答える
2

他の人が言ったように-「コンパイル中」のテストは意味がないので、ビルドプロセス中のテストを意味していると思いますが、これは異なり、もちろんビルド後の手順などを使用して可能です.

使用する Visual Studio のバージョンは指定しませんが、VS2012 を使用している場合は、説明したことを正確に実行する方法を説明するMSDN の記事があります。完全な手順についてはリンクを参照してください。以下に部分的なスクリーンショットを添付しました

アンマネージ dll の単体テスト

于 2013-05-06T08:29:54.750 に答える