我刚从 VS2012 中的 MSTest 开始。我正在测试本机 C++。
我在我的应用程序中犯了一个错误,读取了一个 STL 字符串的“结尾”......例如
wchar_t c = p_filename[p];
..在我的情况下 p 是 20000 而 p_filename 是一个空字符串。显然是一个错误。在调试器中运行,这会触发:
“调试断言失败!!..字符串下标超出范围...(按重试调试应用程序)”。
但是 - 在 MSTest 中运行此代码可以通过测试。没有报告错误。为什么 MSTest 没有发现这个运行时错误?(或者 MSTest 没有检测到原生 c++ 中的断言语句)??MSTest 不应该报告这个严重的错误吗?