私はVS2012でMSTestを始めたばかりです。ネイティブ C++ をテストしています。
アプリケーションでミスを犯し、STL 文字列の「末尾から」読み取ってしまいました...例
wchar_t c = p_filename[p];
..私の場合、p は 20000 で、p_filename は空の文字列です。明らかにバグです。デバッガーで実行すると、次のようにトリガーされます。
「デバッグ アサーションに失敗しました!! ..文字列添え字が範囲外です... (アプリケーションをデバッグするには、再試行を押してください)」.
ただし、MSTest でこのコードを実行すると、テストに合格します。エラーは報告されていません。MSTest がこの実行時エラーを検出しないのはなぜですか? (または、MSTest はネイティブ c++ のアサート ステートメントを検出しませんか)?? MSTest はこの重大なバグを報告すべきではないでしょうか?