Visual Studio 2008 SP1 内で、MSTest をテスト ランナーとして使用する単体テスト プロジェクトを作成できます。私は現在、マネージ MSTest プロジェクトからアンマネージ C++ MFC をテストするテストを書いていますが、非常に興味深い作業でした。
IDE のテスト ランナーの使用とコマンド ライン アプリケーションの MSTest.exe の使用には違いがあるようです。私のシナリオでは、テストは IDE 内で正常に実行され、すべてのテストに合格しますが、コマンド ライン テスト ランナーを実行すると、単体テスト DLL を読み込もうとして MSTest.exe がハングします。
これは、DLL 内の依存関係の欠落に問題があるようです。Depends.exe (Dependency Walker) で単体テスト DLL をロードすると、Depends.exe は、VS2008 デバッグ C ランタイムである msvcr90d.dll が見つからないと文句を言います。そのファイルをテスト実行用に Out フォルダーにコピーし、テスト DLL で mstest を実行しようとしましたが、問題は解決しませんでした。何か案は?
テストまたは testrunconfig にいくつかの DeploymentItem を追加することはできますが、追加する必要があるものを見つける方法がありません。DeploymentItems として追加する必要がある項目を見つけるためのアイデアはありますか?
これは、CWinApp オブジェクトが削除された静的ライブラリに対してテストすると発生します。2 つの CWinApp インスタンスがないように、削除する必要があると思いますよね?
MSDN フォーラムでこのヘルプ記事を見ましたが、問題は解決しませんでした: http://social.msdn.microsoft.com/forums/en-US/vststest/thread/aa7f7567-faba-4589- b0ae-fe8d2c831c7a/ どのアセンブリが欠落しているかわかりません。Process Monitor 内に非常に多くのエントリがあるため、欠落しているものを見つけることができないようです。何か助けはありますか?