2016-12-19 15 views
0

C++/CLIで作成されたレガシープロジェクトをWindowsアプリケーションとして開発中です。すべてが単一の.exeファイルにコンパイルされています。私は数学的に複雑なコードを書くことを任されていたので、私は単体テストをソリューションに追加したいと思っています。マネージドテストプロジェクトを既存のC++/CLIソリューションに追加

Visual Studio Error Message

メインプロジェクトは "として設定されています(ソリューション>追加>新規プロジェクト>マネージドテストプロジェクト)そう、私は次のエラーを取得テストプロジェクトへの参照としてプロジェクトを追加しようとしたら純粋なMSILの共通言語ランタイムサポート(/ clr:純粋な) "とすべての明白な順序にある​​ようだが、私はエラーメッセージが表示され続けます。ユニットテストフレームワークを含むようにソリューションのセットアップを取得するにはどうすればよいですか?

Google検索フレーズ:それは判明してコメンターによって逃れたとしてC++/CLRのためのテストを書くときにC++テストプロジェクトを使用することはできません、C++/CLIのプロジェクト

+0

「管理単位テスト」は、誰かがそれが意味すると思われるものを意味するものではありません。プロジェクトタイプは、単体テスト*アンマネージド* C++コードを対象としていました。何らかの理由で、C++/CLIで単体テストコードを書くことができたのは、おそらく[属性]を使うことができたためと考えられていました。私はそれがだまされる可能性があると思うが、 ''要素を追加するためにプロジェクトファイルを手作業で編集しなければならないだろう。 C++/CLIアセンブリをテストするには、C#またはVB.NETユニットテストプロジェクトを使用する必要があります。 –

+0

@ HansPassant Visual Studio Unit Test Frameworkに限られているように思えますが、C++/CLIで記述することもできます。 – rjzii

答えて

0

にユニットテストを追加します。 。次のように私たちが見つかった問題を回避するには、次のとおりです。

  1. は、 "[ソリューション]> [追加]> [新規プロジェクト>のVisual C++> CLR> CLR空のプロジェクト"
  2. の下に "[プロジェクト]> [プロパティ" を介して新しいプロジェクトを作成します。 「動的ライブラリ(.dll)」
  3. は我々Microsoft.VisualStudio.QualityTools.UnitTestFramework.dllへの参照を追加するために「構成タイプ」を設定すると、バージョン14.0.23107.0
  4. であるあなたは、関連を書い
  5. スタートをテストしたいソリューションプロジェクトへの参照を追加します。ユニットテストは他のプロジェクトからの#includeヘッダーではなく、 Visual Studioは
  6. 我々はまた、あることが確認テストエクスプローラ[センター+ R、A]に建て

を通して、あなたのユニットテストを実行します[Ctrlキー+ + Bシフト]ソリューションをビルドします

  • のためにそれらを解決しますReSharper 10.0.2のユニットテストセッションでテストを実行できます。

  • +0

    これを試しましたが、テストエクスプローラにテストを表示することはできません...何もありませんか? – helmesjo

    +0

    Okeyは、上記の作業を行った後、_ [TestClass] _&_ [TestMethod] _属性(** public ref class MyTests **として宣言されています)でテストクラスを作成しています。 NUnit 2アダプタはテストを正しく検出し、同時にC++とC#を完全にテストできます! – helmesjo

    関連する問題