FUKUDA Fumiki
ffuku****@ntes*****
2002年 6月 13日 (木) 17:07:17 JST
επιστημηです。 --- "[Cuppa-users:49] Re: 表明の拡張" / 渋川よしき / 2002/06/12 08:35:20 +0900 --- >この仕様だと例外処理のテストは一つのメソッドににまとめたい時とかにはちょ >っと不便ですよね。僕は一つのテストメソッドの中にたくさんassert文を書くの >で、こういう人には向かないかも・・・ こさえてみたです。 //CUPPA:include=+ #include <vector> //CUPPA:include=- #include <cppunit/extensions/HelperMacros.h> #include <cppunit/TestAssert.h> #define CUPPA_ASSERT_EXCEPTION( expression, exception ) \ try { expression; \ CPPUNIT_FAIL("Expected exception of type " #exception ", but got none"); \ } catch ( exception ) {} class ATest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(ATest); //CUPPA:suite=+ CPPUNIT_TEST(trial); //CUPPA:suite=- CPPUNIT_TEST_SUITE_END(); private: // your stuff... public: virtual void setUp() { /* initialize */ } virtual void tearDown() { /* terminate */ } //CUPPA:decl=+ void trial() { std::vector<int> v; CUPPA_ASSERT_EXCEPTION( v.at(1), std::out_of_range); v.push_back(1); CUPPA_ASSERT_EXCEPTION( v.at(0), std::out_of_range); } //CUPPA:decl=- }; //CUPPA:impl=+ //CUPPA:impl=- CPPUNIT_TEST_SUITE_REGISTRATION(ATest); ...なんかそれっぽく動いているだよ。 -----:-----:-----:-----:-----:-----:-----:-----:-----:----- FUKUDA (episteme) Fumiki -- magical, but never a magic...