Cmocka如何测试使用正确的参数调用了我的(无效)回调函数?

毛格说恢复莫妮卡

我正在使用Cmocka进行单元测试,并且不能更改。

我正在测试我的软件的一部分,如果值发生更改,则该软件将调用回调函数,以指示更改的数据项以及新的值。

回调函数具有以下签名:

typedef void (* Value_changed_call_back) (int item_Id, int new_value);

对于单元测试,我想注册一些回调函数,并确保它们实际上已被调用,并且它们接收正确的参数。

我可以expect_int()在我的模拟中使用,以验证是否已使用正确的参数调用了它们。

但是,我不知道如何使用,will_return()因为我的回调函数是类型的void(并且不能更改)。

如何声明模拟回调函数并验证是否使用正确的参数调用了它?请注意,如果未调用该函数,则测试应失败。

乔什·凯根(Josh Kergan)

我认为最好的方法是为回调创建一个存根并将其注册。然后在回调中,将一些全局变量设置为一个值。然后,您可以断言在存根函数中设置的值。只要断言和回调在同一线程上执行以确保断言不是争用条件,此方法就起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Jasmin测试是否调用了回调参数

来自分类Dev

如何使用带参数的回调函数?

来自分类Dev

如何测试是否在phpunit中调用了正确的函数

来自分类Dev

如何使用参数调用回调函数?

来自分类Dev

如何使用参数调用回调函数

来自分类Dev

我应该如何测试在循环中调用了多个函数?

来自分类Dev

使用jQuery回调参数通过AJAX调用PHP函数

来自分类Dev

使用jQuery回调参数通过AJAX调用PHP函数

来自分类Dev

回调已经被调用了!在环回中,在 updateAll 函数中

来自分类Dev

您如何在javascript函数对象中测试是否调用了无效方法?

来自分类Dev

如何使用可选的回调参数制作JavaScript函数

来自分类Dev

如何使用可选的回调参数制作JavaScript函数

来自分类Dev

使用Mockito测试回调参数

来自分类Dev

如何使用鼻子测试测试函数中是否调用了函数

来自分类Dev

为什么我的回调函数接收到不正确的参数值?

来自分类Dev

为什么我的回调函数接收到不正确的参数值?

来自分类Dev

是否使用mmap_sem调用了mmap回调?

来自分类Dev

如果启用了事件验证,则会引发无效的回发或回调参数异常

来自分类Dev

如何从回调函数调用类变量?

来自分类Dev

无效的回发或回调参数。事件验证使用启用

来自分类Dev

无效的回发或回调参数。事件验证使用启用

来自分类Dev

如何为回调函数添加参数?

来自分类Dev

C ++ Boost函数回调。如何调用函数作为回调并在内部传递参数?

来自分类Dev

如何测试是否调用了函数(单元测试角度)

来自分类Dev

如何使用Jasmine和NodeJs在回调函数中测试逻辑以测试Mongoose控制器

来自分类Dev

如何使用Jasmine和NodeJs在回调函数中测试逻辑以测试Mongoose控制器

来自分类Dev

使用自定义数据作为函数参数调用lua回调

来自分类Dev

NodeJS异步:已经调用了回调?

来自分类Dev

NodeJS异步:已经调用了回调?

Related 相关文章

  1. 1

    Jasmin测试是否调用了回调参数

  2. 2

    如何使用带参数的回调函数?

  3. 3

    如何测试是否在phpunit中调用了正确的函数

  4. 4

    如何使用参数调用回调函数?

  5. 5

    如何使用参数调用回调函数

  6. 6

    我应该如何测试在循环中调用了多个函数?

  7. 7

    使用jQuery回调参数通过AJAX调用PHP函数

  8. 8

    使用jQuery回调参数通过AJAX调用PHP函数

  9. 9

    回调已经被调用了!在环回中,在 updateAll 函数中

  10. 10

    您如何在javascript函数对象中测试是否调用了无效方法?

  11. 11

    如何使用可选的回调参数制作JavaScript函数

  12. 12

    如何使用可选的回调参数制作JavaScript函数

  13. 13

    使用Mockito测试回调参数

  14. 14

    如何使用鼻子测试测试函数中是否调用了函数

  15. 15

    为什么我的回调函数接收到不正确的参数值?

  16. 16

    为什么我的回调函数接收到不正确的参数值?

  17. 17

    是否使用mmap_sem调用了mmap回调?

  18. 18

    如果启用了事件验证,则会引发无效的回发或回调参数异常

  19. 19

    如何从回调函数调用类变量?

  20. 20

    无效的回发或回调参数。事件验证使用启用

  21. 21

    无效的回发或回调参数。事件验证使用启用

  22. 22

    如何为回调函数添加参数?

  23. 23

    C ++ Boost函数回调。如何调用函数作为回调并在内部传递参数?

  24. 24

    如何测试是否调用了函数(单元测试角度)

  25. 25

    如何使用Jasmine和NodeJs在回调函数中测试逻辑以测试Mongoose控制器

  26. 26

    如何使用Jasmine和NodeJs在回调函数中测试逻辑以测试Mongoose控制器

  27. 27

    使用自定义数据作为函数参数调用lua回调

  28. 28

    NodeJS异步:已经调用了回调?

  29. 29

    NodeJS异步:已经调用了回调?

热门标签

归档