私は最近、自分のプロジェクトの単体テストをセットアップしようと試み始めました。ただし、クラスでは正しく機能していません。
Visual C++ 2012 の単体テストをコンパイルするときの質問 Unresolved externals の指示に従ってセットアップしました。
テストは正常に開始されますが、メモリ アクセス エラー (C0000005) が発生します。ただし、これは常に発生するわけではありません。通常、2 回または 3 回の試行ごとに失敗しますが、20 回に 1 回の頻度で失敗する可能性があります。コードに他の関数が含まれているかどうかは問題ではないようです。
テストをデバッグしようとすると、変数が初めてアクセスまたは使用されるときに、テストが失敗します。
Boost.test (Boost Unit Test Adapter を使用) と Native Unit Tests という 2 つの異なるテスト フレームワークを試しています。どちらも同じ問題を抱えています。
dll とテスト アプリケーションの両方が同じ呼び出し規約 (__cdecl) を使用していることはわかっています。
奇妙なのは、テストがしばらくの間機能し、その後突然失敗し始めることです。
プロジェクトはこちらから入手できます。
Visual Studios を再インストールしても解決しませんでした。