1

最近、ラップトップをWindows 8にアップグレードして、W8およびWP8用に開発できるようにしました。単体テストにBoost.Testを使用するVisualStudio2010で作成されたプロジェクトがいくつかありました。プロジェクトを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メモリが不良であるために例外があるオブジェクトがあります。Boost1.50.0を使用しています。最新のリリースである1.52.0も試しましたが、同じ結果になりました。VS2012はバグがありますか、それとも私が気付いていない設定/構成がありますか、またはWindows 7と8での開発に違いがありますか?

編集

VS2012とBoost1.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()
4

1 に答える 1

1

これは、のグローバルオーバーライドが原因で発生し、プロジェクトの別のテストクラスを介して誤ってインポートされていましたnewdelete

于 2012-12-10T18:25:22.973 に答える