0

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

(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

谢谢!

4

1 回答 1

1

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

于 2014-12-01T20:02:16.563 回答