我正在使用Cmocka进行单元测试,并且无法更改。
我正在测试我的软件的一部分,它调用回调函数,如果值更改,指示哪个数据项更改以及新值是什么。
回调函数具有以下签名:
typedef void (* Value_changed_call_back) (int item_Id, int new_value);
对于单元测试,我想注册一些回调函数并确保它们被实际调用,并且它们接收到正确的参数。
我可以expect_int()
在我的模拟中使用,以验证它们是否使用正确的参数调用。
但是,我看不出我可以如何使用will_return()
,因为我的回调函数是类型的void
(并且无法更改)。
我将如何声明一个模拟回调函数并验证它是否使用正确的参数调用?请注意,如果未调用该函数,则测试应该失败。