1

異なるプラットフォーム(64ビットと32ビット)を対象としたビジュアルスタジオC#プロジェクトがあります。私はまた、このプロジェクトをカバーする広範な単体テストを持っています。プロジェクトの性質は、生成するアセンブリがプラットフォームによって異なります(完全修飾アセンブリ名ではなく、対象プラットフォームに関係なくアセンブリ名が同じです)。これらのアセンブリを単体テストしたいと思っています。これを行う最善の方法は何ですか?また、hudsonでテストレポート(コードカバレッジと単体テスト)を実行する必要があることにも注意してください。現在の実装では、2つの異なるプラットフォーム用に2つの異なるプロジェクトがあり、テスト実行フォルダ(イン/アウトディレクトリを持つもの)が異なるイメージフォーマットのアセンブリを混乱させることはありません。私は「ユニットテストの方法、Visual Studio上のコードコードカバレッジの実行方法」の回答は期待していません。私の質問は、「ビジュアルスタジオのさまざまなプラットフォームを対象とした単体テストアセンブリのベストプラクティスとは何か」です。ビジュアルスタジオの異なるプラットフォーム(64ビットと32ビット)を対象としたテストアセンブリのユニット化方法

答えて

0

異なるプラットフォームを対象とした単体テストアセンブリをVisual Studioで実行するには、どのような方法が最適ですか。

単体テストをx86およびx64オペレーティングシステムで実行してみましたか?私はいくつかの小さなものを除いて指摘しなければならないが、コードの動作はまったく同じように振る舞い、2つの重要な例外はレジストリで作業しており、プラットフォーム仕様の安全でないコード(すなわちHandles)を扱っている。

正直なところ..あなたは何をする必要があるかをすでに知っているようです。

0

可能であれば、私は実際にアセンブリの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つを使用するか、または独自の方法を使用することができます。あなたはハドソンで使用することができ

カバレッジ・ツール:

  1. NCover - 商用ツール(32と64を扱う)
  2. OpenCover - オープンソースのツールは(32と64を扱う)

適切かもしれない他のものがありますが、私はそれらを使用していないので、hudson経由での使用のための適切性についてコメントすることはできません。つまり、おそらくビジュアルスタジオのものがコマンドライン駆動可能です。

関連する問題