显示ASSERTed变量的内容

时间:2014-12-01 17:50:24

标签: c variables cunit

这里的简单问题:是否可以显示CUnit测试新测试的变量的内容?测试期间不显示Printf(),无论如何我不想使用它。 例如,我希望CUnit输出

的结果
  

(MQUEUE_PRI_MASK& flag)

有可能吗? 下面是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

谢谢!

1 个答案:

答案 0 :(得分:0)

使用内置的断言宏不可能,但编写自己的宏并不是很困难。查看< CUnit / CUnit.h>中的宏定义。您可能必须编写自己的CU_assertImplementation()变体。使用原始来源作为模板。