Visual Studio(2013)单元测试因C0000005而失败

时间:2015-10-06 13:36:16

标签: c++ visual-studio unit-testing

我刚刚在新的解决方案中设置了一个新的(本机)单元测试。但是,如果我添加一个断言,即使示例程序也不起作用。它编译没有问题,默认生成(空)测试成功。但是当我添加一个简单的断言时,它失败了,错误代码为C0000005。

这可能与similar issue有关,但我甚至没有连接一些库,因此无法使用建议的解决方案。

测试如下:

#include "stdafx.h"
#include "CppUnitTest.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace Test_Native
{       
TEST_CLASS(UnitTest1)
{
public:

    TEST_METHOD(TestMethod1)
    {
        Assert::AreEqual(1, 1, L"message", LINE_INFO());  // Without this line everything is fine
        // TODO: Your test code here
    }

};
}

1 个答案:

答案 0 :(得分:1)

这是known bug。不幸的是,微软认为这是“不会修复”。

简而言之,有两种解决方法:

在发布模式下编译实际项目,在调试模式下编译测试项目。 将所有可测试函数外包给静态库项目。