具有高度依赖函数的Qt中的单元测试

时间:2010-08-20 12:40:29

标签: c++ unit-testing qt testing dependencies

我是单元测试的新手。我想在Qt中编写单元测试代码,但我的函数(登录,请求等......)在很大程度上依赖于其他资源,如服务器。

在这种情况下如何提供阻止盒?

您是否知道我可以检查类似情况的单元测试类的任何开源项目?

3 个答案:

答案 0 :(得分:4)

您可以使用链接器技巧。您知道代码使用哪些方法和类。获取这些类的头文件和声明,并为每个类生成一个小实现,返回您想要的值。然后编译它们并按正确的顺序链接。然后,这将使用您自己的这些方法的实现,您不需要具有需要服务器访问的正确实现。

参见例如:

了解更多详情。

PS。此链接器行为的优点是您不需要首先将类声明为接口,例如google mocking framework需要。

答案 1 :(得分:3)

你需要使用模拟。 Google有一个C++ mocking framework。您还需要重新设计代码以使用接口代替套接字代码等,在运行测试时将替换为模拟对象。

答案 2 :(得分:0)

看看QTestLib。这是Qt附带的单元测试框架。 Qt允许您模拟鼠标单击和键盘事件(信号)等事件,以及窥探应用程序生成的事件(信号)。