前提・実現したいこと
以下の構成でMSTestを用いた自動テストを実行したいのですが、テストを実行することができません。
いろいろ調べてはみたのですが、C++ネイティブプロジェクトのテストの情報がメインで同じような状況を見つけることができませんでした。
プロジェクトの設定で何とかなるものなのか、想定されていない内容なのか判断がつきませんでした。
このような場所に質問を行うのは初めてですので必要な情報等足りないかもしれませんが、その際は指摘いただけますと幸いです。
project構成
runsSolution ├ runsSolution.sln ├ runProjrct:C++からのプロジェクトを用いてexe作成 └ testProject:ネイティブ単体テストプロジェクト
発生している問題・エラーメッセージ
両プロジェクトのビルドは成功しているが、テストエクスプローラにテストの一覧が表示されません。以下のメッセージが表示されテストの実行ができない状況です。
ソリューションをビルドして、使用可能なテストをすべて検出します。「すべて実行」をクリックして、ソリューションのすべてのテストをビルド、探索、および実行します。
ソースコード
実行プロジェクト
C++
1#include<iostream> 2 3#using<System.dll> 4using namespace System; 5int main(){ 6 std::out << "Hello!" << std::endl; 7 String^ test = "test"; 8 Consolo::WriteLine(test); 9 return 0 10}
テストプロジェクト
C++
1#include "pch.h" 2#include "CppUnittest.h" 3#include "../runProjrct/main.cpp" 4 5using namespace Microsoft::VisualStudio::CppUnitTestFramework; 6 7namespace testProject 8{ 9 TEST_CLASS(testProject) 10 { 11 public: 12 TEST_METHOD(TestMethod1) 13 { 14 main(); 15 } 16 } 17}
試したこと
構成プロパティ→C++/CLIプロパティを以下に設定
- 共通言語ランタイムサポート:共通言語ランタイムサポート(/clr)
- .NET Framework 対象パージョン:4.5
両プロジェクトに上記設定
- ビルド成功
- テスト:表示されず
- 以下の警告を出力
warning C4835
両プロジェクトから上記設定を削除
- ビルド成功
- 実行プロジェクトから.Net部分をコメントアウトして実行
- テスト:実行可能
- 警告なし
補足情報(FW/ツールのバージョンなど)
OS:widows10
開発環境:vs2019 Pro
あなたの回答
tips
プレビュー