Повышение модульных тестов, генерирующих исключения в Visual Studio 2012

Я недавно обновил свой ноутбук до Windows 8, чтобы я мог разрабатывать для W8 и WP8. У меня было несколько проектов, созданных с помощью Visual Studio 2010, которые использовали Boost.Test для модульного тестирования. Я попытался преобразовать проекты в проекты VS2012, но столкнулся с проблемами, поэтому я просто создал новые проекты VS2012, используя тот же исходный код, что и раньше. Однако каждый набор юнит-тестов выдает исключение при запуске. Я отладил его и обнаружил, что он выдает исключение при попытке сделать отчет в make_report метод в results_reporter.ipp, Оскорбительная строка

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 против 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()

1

Решение

Это происходило из-за некоторых глобальных изменений new а также delete это было случайно импортировано через другой тестовый класс в моем проекте.

1

Другие решения

Других решений пока нет …