異なるプラットフォーム(64ビットと32ビット)を対象としたビジュアルスタジオC#プロジェクトがあります。私はまた、このプロジェクトをカバーする広範な単体テストを持っています。プロジェクトの性質は、生成するアセンブリがプラットフォームによって異なります(完全修飾アセンブリ名ではなく、対象プラットフォームに関係なくアセンブリ名が同じです)。これらのアセンブリを単体テストしたいと思っています。これを行う最善の方法は何ですか?また、hudsonでテストレポート(コードカバレッジと単体テスト)を実行する必要があることにも注意してください。現在の実装では、2つの異なるプラットフォーム用に2つの異なるプロジェクトがあり、テスト実行フォルダ(イン/アウトディレクトリを持つもの)が異なるイメージフォーマットのアセンブリを混乱させることはありません。私は「ユニットテストの方法、Visual Studio上のコードコードカバレッジの実行方法」の回答は期待していません。私の質問は、「ビジュアルスタジオのさまざまなプラットフォームを対象とした単体テストアセンブリのベストプラクティスとは何か」です。ビジュアルスタジオの異なるプラットフォーム(64ビットと32ビット)を対象としたテストアセンブリのユニット化方法
答えて
異なるプラットフォームを対象とした単体テストアセンブリをVisual Studioで実行するには、どのような方法が最適ですか。
単体テストをx86およびx64オペレーティングシステムで実行してみましたか?私はいくつかの小さなものを除いて指摘しなければならないが、コードの動作はまったく同じように振る舞い、2つの重要な例外はレジストリで作業しており、プラットフォーム仕様の安全でないコード(すなわちHandles)を扱っている。
正直なところ..あなたは何をする必要があるかをすでに知っているようです。
可能であれば、私は実際にアセンブリのAny-CPUを作成します(もちろん、あなたはCPUターゲットを設定したことを意味する32/64 interopかもしれませんが、それ以外はCPUには依存しません)アーキテクチャ、すなわち32/64ビットを決定する。そうすれば、テストしなければならないアセンブリの数が急速に削減されます。
MSTest(VS2010)は、この作業をQTAgent(32).exeに適切に行うため、32と64の両方を処理できる必要があります。 NUnitには、32ビットと64ビットで実行するための任意のCPUと、64ビットプラットフォームでの32ビットのアセンブリをテストするための32ビット固定の2つのコンソールタイプがあります。他のテストツールは、私が記述した2つの方法のうちの1つを使用するか、または独自の方法を使用することができます。あなたはハドソンで使用することができ
カバレッジ・ツール:
適切かもしれない他のものがありますが、私はそれらを使用していないので、hudson経由での使用のための適切性についてコメントすることはできません。つまり、おそらくビジュアルスタジオのものがコマンドライン駆動可能です。
- 1. 32ビット対64ビットのカスタムフレームワーク
- 2. 32ビットと64ビットのセットアッププロジェクト
- 3. 32対64ビットJREのJava9
- 4. iOS 32対64ビットのアプリケーション
- 5. 32ビットと64ビットの動作の差
- 6. ドライブCの問題32ビットと64ビット?
- 7. 32ビットと64ビットのVS 2010ビルド(プログラムファイル)
- 8. Office 64ビットとIE 32ビットとVBScript
- 9. 32ビットと64ビットの両方のプラットフォームでは常にハンドルが32ビットですか?
- 10. 32ビット/ 64ビットOS?
- 11. 32ビットと64ビットマシンの両方で常に64ビットです
- 12. .netコンソールアプリケーション32対64ビット
- 13. Officeの32ビットdll 64ビット
- 14. Visual Studioユニットテスト32ビットと64ビット
- 15. .net InstallUtilユーティリティ - 32ビットと64ビット
- 16. Solrインデックス時間32ビットと64ビット
- 17. 32ビットと64ビットOS間の.NETバイナリシリアル化
- 18. 32ビットと64ビットの両方のアプリケーションをサポートするSetWindowsHook
- 19. 32ビットと64ビットのプログラミング(両方とも、PythonのPycharmで)
- 20. WindowsのPerl:32ビットまたは64ビット?
- 21. 32ビット、64ビット、参照ライブラリ
- 22. ubuntu 11.10 64ビットvs 32ビット
- 23. ユニティビルドのアプリケーションが32ビットまたは64ビットであること
- 24. 32ビット版と64ビット版の両方のライブラリを配布する方法
- 25. 32ビットと新しいappstoreをサポートする64ビットのアプリケーション
- 26. 32ビットと64ビットのマシン間の不正なイメージフォーマットの例外
- 27. MS Access 32ビットまたは64ビット
- 28. JDK 64ビットまたは32ビット?
- 29. 32ビットのインストーラ中に32ビットと64ビットの.NET machine.configを変更する64ビットプロセスを開始
- 30. CGFloat on 32-対64ビットのエンコード/デコード