Недавно я обновил свой ноутбук до Windows 8, чтобы я мог разрабатывать W8 и WP8. У меня были некоторые проекты, созданные с помощью Visual Studio 2010, которые использовали Boost.Test для модульного тестирования. Я попытался преобразовать проекты в проекты VS2012, но столкнулся с проблемами, поэтому я просто создал свежие проекты VS2012, используя тот же исходный код, что и раньше. Тем не менее, каждый комплект тестового пакета генерирует исключение, когда я его запускаю. Я отлаживал его и обнаружил, что он выбрасывает исключение, когда пытается сделать отчет в методе make_report
в results_reporter.ipp
. Нарушитель линияУскоренное тестирование блоков исключения в Visual Studio 2012
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 и увеличить 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()
Как вы смогли это решить? Имеет ту же проблему. Использование модуля MStest и Boost. – Darkenor