您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > cppUnit
CPPUnit實例Simple class
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/3/15 14:10:45 ] 推薦標(biāo)簽:

void
MoneyTest::testConstructor()
{
  // Set up
  const std::string currencyFF( "FF" );
  const double longNumber = 1234.5678;

  // Process
  Money money( longNumber, currencyFF );

  // Check
  CPPUNIT_ASSERT_EQUAL( longNumber, money.getAmount() );
  CPPUNIT_ASSERT_EQUAL( currencyFF, money.getCurrency() );
}


void
MoneyTest::testEqual()
{
  // Set up
  const Money money123FF( 123, "FF" );
  const Money money123USD( 123, "USD" );
  const Money money12FF( 12, "FF" );
  const Money money12USD( 12, "USD" );

  // Process & Check
  CPPUNIT_ASSERT( money123FF == money123FF );    // ==
  CPPUNIT_ASSERT( money12FF != money123FF );     // != amount
  CPPUNIT_ASSERT( money123USD != money123FF );   // != currency
  CPPUNIT_ASSERT( money12USD != money123FF );    // != currency and != amount
}


void
MoneyTest::testAdd()
{
  // Set up
  const Money money12FF( 12, "FF" );
  const Money expectedMoney( 135, "FF" );

  // Process
  Money money( 123, "FF" );
  money += money12FF;

  // Check
  CPPUNIT_ASSERT_EQUAL( expectedMoney, money );           // add works
  CPPUNIT_ASSERT( &money == &(money += money12FF) );  // add returns ref. on 'this'.
}
這里我們常常用到的還有

        CPPUNIT_TEST_SUITE_REGISTRATION這個是注冊MoneyTest到測試框架中,這個時必須的。

        CPPUNIT_ASSERT_EQUAL(期望值,實際值)具有相同類型(能用==)比較,如果比較不相等會fail

        CPPUNIT_ASSERT(bool量)里面的變量如果為false會fail結(jié)果

        CPPUNIT_ASSERT_MESSAGE(message,condition) 當(dāng)condition為false的時候fail,輸出message信息到結(jié)果中

        CPPUNIT_FAIL( message )  // 表示失敗,message中指明了診斷信息
        CPPUNIT_ASSERT_EQUAL_MESSAGE(message,expected,actual)// 斷言兩個值(expected和actual)是否相等,如果不等輸出message中指明了附加的診斷信息

        CPPUNIT_ASSERT_DOUBLES_EQUAL(expected,actual,delta) 判斷兩個浮點數(shù)是否精確相等,這個用來判斷浮點數(shù)是否近似相等必須要用到的,我們不能用CPPUNIT_ASSERT_EQUAL(期望值,實際值)來判斷了。

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd