c++ - 如何对回调函数抛出的异常进行单元测试

标签 c++ unit-testing callback cppunit

我正在尝试对一个立即返回然后通过回调函数返回实际结果的函数进行单元测试。任何人都可以帮助我如何使用 cppunit 对这个函数进行单元测试。

例如.

MyFunction(回调调用) { .....

MyFunction 立即返回成功,然后在回调函数中返回实际结果,从回调中抛出异常 myexception 如何进行单元测试以确保抛出 myexception?

最佳答案

MyFunction 立即返回的唯一方法是拥有一个最终调用回调函数的工作线程。如果是这样,那么就不可能在您的代码中捕获从该工作线程抛出的异常。您必须从工作线程中捕获所有异常并在那里处理它们。在异常处理程序中,您仍然可以使用指示异常发生的参数调用回调函数,并通知用户。

关于c++ - 如何对回调函数抛出的异常进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13192665/

相关文章:

python - 每当队列中有内容时,Amazon 的 SQS 如何通知我的 "worker"服务器之一?

Goroutines、回调和 sync.WaitGroup

c++ - 不同方式的动态数组声明

c++ - 错误 C2679 : binary '[' : no operator found which takes a right-hand operand of type 'overloaded-function'

使用 ant 和库项目 R18 的 Android 单元测试

c++ - googletest:用参数构造装置?

ruby-on-rails - View 渲染后 Rails 中的回调(用于记录目的)

c++ - 计算先前对齐的地址

java - Java equals() 和 C++ 运算符 == 有什么区别?

c# - ASP.Net XUnit 检查对象列表是否包含特定对象