問題タブ [microsoft-cpp-unit-test]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2091 参照

visual-studio-2012 - msbuild スクリプトから VS2012 CppUnitTestFramework 単体テストを実行するにはどうすればよいですか?

VS2012 の CppUnitTestFramework を使用するネイティブ ユニット テスト DLL を作成しました。これらのテストは、VS2012 の IDE の [テスト エクスプローラー] ウィンドウで実行できます。

しかし、MsBuild スクリプトからこれらのテストも実行したいと思います。適切なコマンド ラインでテスト ランナー exe を起動する必要があると思いますが、これに関する情報を見つけるのに苦労しています。

私を正しい方向に向けるのを手伝ってもらえますか。ありがとう。

0 投票する
2 に答える
3641 参照

c++ - テンプレート テスト クラスを使用した C++ 単体テスト テスト

私はいくつかの C++ テスト駆動開発を行っています。私は同じことをする一連のクラスを持っています。

同じ入力から同じ出力が得られます (または、そうすべきです)。Visual Studio 2012 を使用しています

CppUnitTestFramework. テンプレート化されたテスト クラスを作成したかったので、一度テストを記述し、必要に応じてクラスでテンプレート化できますが、これを行う方法が見つかりません。私の目的:

CppUnitTestFramework を使用してこれを行う方法はありますか?

これを可能にする別の単体テスト フレームワークはありますか?

0 投票する
0 に答える
294 参照

c++ - VS 2012 で単体テストをコンパイルするときのエラー

VS 2012 で単体テストを定義しましたが、エラー C2338 が原因でコンパイルできません。

エラー C2338: テスト ライターは、クラス class std::basic_string,class std::allocator > __cdecl Microsoft::VisualStudio::CppUnitTestFramework::ToString(const struct CoreUnitTests::TestStruct &) の ToString の特殊化を定義する必要があります。c:\program files (x86)\microsoft Visual Studio 11.0\vc\unittest\include\cppunittestassert.h

これは、Assert::AreEqual テストを行うときに発生します。この型の ToString メソッドを定義する必要があります。

cppunittestassert.h に記載されているガイダンスに従い、インターネットで解決策を見つけました。ただし、エラーはまだ発生しています。

私が使用しているコードの例を次に示します。

私は明らかにまだ何か間違ったことをしています。誰でもアイデアはあります。私はすでに TestStruct* バージョンを追加しようとしましたが、それは役に立ちません。

名前空間と関係があるのではないかと思いますが、この問題を解決する方法がわかりません。

ありがとう

0 投票する
1 に答える
1307 参照

c++ - CppUnitTestFramework (VS2013) でテストを実行できない

チームの他のメンバーとは別の perforce ストリームでは、プロジェクトで CppUnitTestFramework テストを実行できませんが、残りのストリームではテストが問題なく実行されます。

コード スニペットを次に示します。

テストを実行しようとしたときに表示されるエラーは次のとおりです。

異なるストリーム間の .sln または関連する .vcxproj ファイル間に差分はありません。

0 投票する
1 に答える
184 参照

c++ - vs 2013 : cppunittest テストへのブレークポイントが例外をスローする

vs 2013 環境で c++11 静的ライブラリをテストしています。私はこの素敵なチュートリアルに従い、テスト + コード カバレッジは正常に機能しています。

ここで、ステップバイステップが必要です:ブレークポイントを追加し、「選択したテストのデバッグ」コマンドを実行すると、次のメッセージが表示されますCppUnitTest.h:465:(static_cast<ThisClass *>(this)->*method2)();私が侵入したい方法の。この呼び出し内のコードを見る方法はありません。

私の質問: Ms cpp 単体テストのデバッグ中にコードに侵入する方法は?

0 投票する
0 に答える
52 参照

c++ - CppUnitTest が実行時にスタックし、ブレーク ポイントでパスする

私は CppUnitTest フレームワークを学び始めたばかりで、最も奇妙な問題を抱えています。コードを実行しているとき (以下を参照) は永遠に動かなくなりましたが、ブレークポイントを追加して「ステップバイステップ」で実行すると、テストは正常に終了します (ただし、DLL は解放されません)。テスト)

過去 2 日間、この問題を検索しようとしましたが、うまくいきませんでした。

編集: API関数を呼び出そうとするとテストが動かなくなったようで、コメントに入れると通常の実行でもテストに合格します。

0 投票する
0 に答える
196 参照

c++ - assert::AreEqual system::clock の特殊化を定義する

単体テストに次のコードがあります。

そして、私はこのエラーを受け取ります:

これらの行に沿って何かをしなければならないことは私の理解です:

コンパイラはその部分が好きではありませんRETURN_WIDE_STRING(t)。これを適切に行うにはどうすればよいですか?

0 投票する
2 に答える
234 参照

visual-studio - Windows アプリケーションへの CppUnitTest リンク

ネイティブ テスト プロジェクトを同じソリューション内の既存のプロジェクトにリンクしようとしています。#include で、テストしようとしているクラスのヘッダーへのパスを書いています。

テスト エクスプローラーでテストを実行すると、ビルド エラーが発生します。

エラー 1 エラー LNK2019: 未解決の外部シンボル "public: __thiscall DataManager::DataManager(void)" (??0DataManager@@QAE@XZ) が関数で参照されています "public: void __thiscall MyProject.Tests::UnitTest1::TestMethod1(void) " (?TestMethod1@UnitTest1@MyProjectTests@@QAEXXZ) D:\Documents\VisualStudio2013\Projects\MyProject\MyProject.Tests\DataManagerTests.obj MyProject.Tests

ネイティブ テスト プロジェクトを .dll プロジェクトまたは静的ライブラリにリンクする方法のさまざまな例を見つけましたが、Windows アプリケーションにはリンクしませんでした。

あなたの助けに本当に感謝します。