2014-12-01 70 views
0

這裏的簡單問題:是否可以顯示由CUnit測試新近測試的變量的內容?在測試過程中不會顯示Printf(),反正我不想使用它。 例如,我想CUNIT輸出的結果ASSERTed變量的顯示內容

(MQUEUE_PRI_MASK &標誌)

這可能嗎? 下面是CUNIT的電流輸出:

Suite: Message Queue Test 
    Test: mqueue_init ...passed 
    Test: mqueue : Test send & rcv functions ...passed 
    Test: mqueue : Test mqueue priority ...passed 
    Test: mqueue : Test mqueue flags ...0FAILED 
    1. utils/test_mqueue.c:117 - CU_ASSERT_EQUAL((MQUEUE_PRI_MASK & flag),MQUEUE_PRI_HIGH) 
    Test: mqueue_free ...passed 

預期結果:

Suite: Message Queue Test 
    Test: mqueue_init ...passed 
    Test: mqueue : Test send & rcv functions ...passed 
    Test: mqueue : Test mqueue priority ...passed 
    Test: mqueue : Test mqueue flags ...0FAILED 
    1. utils/test_mqueue.c:117 - CU_ASSERT_EQUAL(5 ,MQUEUE_PRI_HIGH) 
    Test: mqueue_free ...passed 

謝謝!

回答

0

使用內置的斷言宏是不可能的,但編寫自己的代碼不是很困難。查看<CUnit/CUnit.h>中的宏定義。您可能必須編寫自己的CU_assertImplementation()變體。將原始來源用作模板。