【问题标题】:Unit Testing in Qt with Highly Dependent FunctionsQt 中具有高度依赖函数的单元测试
【发布时间】:2010-08-22 02:58:36
【问题描述】:

我是单元测试的新手。我想在 Qt 中编写单元测试代码,但我的功能(登录、请求等)严重依赖于其他资源,例如服务器。

在这种情况下我如何提供一个方块盒?

你知道任何我可以检查单元测试类以应对类似情况的开源项目吗?

【问题讨论】:

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


    【解决方案1】:

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

    参见示例:

    了解更多详情。

    PS。这种链接器行为的优点是您不需要首先将您的类声明为接口,例如,谷歌模拟框架需要。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 我猜,QTestLib 中没有 mocking。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-13
        • 2018-01-24
        • 2014-07-01
        相关资源
        最近更新 更多