gpt4 book ai didi

c++ - Boost 单元测试在 Visual Studio 2012 中抛出异常

转载 作者:太空宇宙 更新时间:2023-11-04 12:03:13 26 4
gpt4 key购买 nike

我最近将我的笔记本电脑升级到 Windows 8,以便我可以针对 W8 和 WP8 进行开发。我有一些项目是使用 Visual Studio 2010 创建的,它们使用 Boost.Test 进行单元测试。我尝试将项目转换为 VS2012 项目,但遇到了问题,所以我只是使用与以前相同的源代码创建了新的 VS2012 项目。但是,当我运行每个单元测试套件时都会抛出异常。我调试了它,发现当它试图在 results_reporter.ipp 中的 make_report 方法中生成报告时会抛出异常。违规行是

case CONFIRMATION_REPORT:
s_rr_impl().m_formatter->do_confirmation_report( framework::get<test_unit>( id ), *s_rr_impl().m_output );

代码中某处有一个 map 对象,它有一些坏内存,因此是异常。我正在使用 Boost 1.50.0。我还尝试了最新版本 1.52.0,但结果相同。 VS2012 是否有问题,或者是否有一些我不知道的设置/配置,或者在 Windows 7 和 Windows 8 上的开发差异?

编辑

这是一个示例测试,它在我使用 VS2012 和 Boost 1.50.0 的环境中抛出异常:

#define BOOST_TEST_MODULE exception.test
#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_SUITE(SuiteTest)

BOOST_AUTO_TEST_CASE(exceptionTest){
BOOST_REQUIRE(true);
}

BOOST_AUTO_TEST_SUITE_END()

最佳答案

这是因为 newdelete 的一些全局覆盖被我项目中的另一个测试类意外导入。

关于c++ - Boost 单元测试在 Visual Studio 2012 中抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13301727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com