私は、Win Mobile 5と6(Professional)エミュレータの両方で自分の開発マシンで正常に動作する単体テストをいくつか持っています。私のSmartDevice単体テストのいくつかが1台のマシンで失敗し、別のマシンで失敗する理由はありますか?
ビルドサーバで実行すると、一部のユニットテストは失敗しますが、Win Mobile 6エミュレータ(すべてのテストではWin Mobile 5エミュレータを使用します)でのみ失敗します。以下のようなエラーが発生した失敗
テスト:
Test method XXXXXMobile.Test.ManifestTests.TestCrewManifest threw exception: System.MissingMethodException: Could not load type 'XXXXXMobile.Controllers.ManifestController' from assembly 'XXXXXMobile.Controllers, Version=1.0.4049.32739, Culture=neutral, PublicKeyToken=null'..
と
Test method XXXXXMobile.Test.PermissionTests.TestMenuBarPermissions threw exception: System.MissingMethodException: Method not found: op_Implicit System.Object..
でテストをオフに設定するコマンドライン:
C:\hudson\jobs\XXXXX Mobile (WinMobile 6 Emulator Tests)\workspace>e:\VS9\Common
7\IDE\MSTest.exe /runconfig:YYYY\WinMobile6Emulator.testrunConfig /testcontainer
:YYYY\XXXXXMobile.Test\bin\Release\XXXXXMobile.Test.dll
testrunconfigファイルはありきたりです。私は、デフォルトから変更だけのものだったと思う: - 展開を有効にします - ホスト・タイプ チェック:スマートデバイス を - プラットフォーム:Windows Mobileの6 ProfessionalのSDK - デバイス:のWindows Mobile 6 Professionalのエミュレータ
含むディレクトリテスト実行コンテナdllには、上記の最初のエラーで説明したコントローラDLLも含まれています。
私はこれに対してしばらく頭を抱えていましたが、なぜいくつかのテストだけが失敗し、1台のマシンと1台のエミュレータでしか動作しません。私は、MSTest.exeとVSTestHost.exeの両方で診断ログを有効にすることで、これ以上役に立つエラーメッセージを表示することができませんでした。
感謝の意を表します。