使用模拟和死亡测试
本文介绍了使用模拟和死亡测试的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我发现Google测试有一个意想不到的行为,当涉及到死亡测试和对模拟对象的期望时。
检查以下示例:
测试失败,因为对mock.foo()
的预期调用未能断言:
有趣的是,如果EXPECT_CALL(mock, foo())
行被注释,Google Mock会发出警告,警告意外调用mock.foo()
:
我猜这与使用fork()
和线程的死亡测试警告有关,但我无法将所有片段匹配在一起。
推荐答案
这是known limitation死亡测试。在内部assert_death
派生,因此在子进程中调用的模拟不会在父进程中注册。如果要取消显示警告,请考虑使用NiceMock
。
这篇关于使用模拟和死亡测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!