首页 文章
  • 0 votes
     answers
     views

    如何从模拟方法返回const引用向量项?

    我正在使用数据库对象作为依赖项为类编写基于googletest / googlemock的单元测试,因此我决定模拟数据库 . 它基于索引提供对 Entry 类型的项的只读访问: struct Entry { int x, y; }; class DbIface { public: virtual ~DbIface() {} virtual int count() cons...
  • 19 votes
     answers
     views

    在C中模拟非虚拟方法而不编辑 生产环境 代码?

    我是一个相当新的软件开发人员,目前正在为几年前开始的现有C项目添加单元测试 . 由于非技术原因,我不允许修改任何现有代码 . 我所有模块的基类都有一堆设置/获取数据和与其他模块通信的方法 . 由于我只想对每个单独的模块进行单元测试,因此我希望能够为所有模块间通信方法使用预设值 . 即对于一个方法Ping(),它检查另一个模块是否处于活动状态,我希望根据我在Google Test和Google Mo...
  • 4 votes
     answers
     views

    #include“gmock / gmock.h”时编译错误

    我正在尝试将googlemock集成到我的测试中 . 我已经在googletest上成功构建并运行了测试,现在我正在尝试逐步将gmock功能添加到测试中,但是我遇到了一个我完全不理解的编译错误 . 我不是试图使用或定义模拟类,也不是使用gmock.h提供的任何东西 . 在我的(以前工作的)tests.cpp文件的顶部,我只是输入 #include "gmock/gmock.h"...
  • 1 votes
     answers
     views

    如何在google test中测试方法,使用std :: function?

    我想在A类中测试方法“methodToTest”: typedef std :: function F_global; struct A { F_global m_F_global; A(F_global m_F_global) : p_F_global(m_F_global) {} void methodToTest() { m_F_globa...
  • 5 votes
     answers
     views

    如何模拟一个方法(非虚拟)在C中使用GMock返回特定值?

    我的问题是我想模拟 Static Non-Virtual 方法返回true,最终返回false . 我有静态方法,例如: class SomeClass{ public: static bool SomeClass::DoAction() { // do some Actions }; }; 我想在模拟期间总是返回true,但默认情况下返回false...
  • 5 votes
     answers
     views

    C中的模拟和依赖注入

    我正努力用googlemock和C中的依赖注入进行单元测试 . 模拟和依赖注入显着简化了代码测试,但它们严重依赖于虚拟方法 . 虽然其他语言中的类默认使用虚方法,但不是C的情况 . 我正在使用C来创建一个低开销的性能测量框架,所以只是让每个类继承一个接口(带有纯虚方法)都不是一个理想的选择 . 具体来说,我遇到了测试包含对象集合的类的问题,如下所示: struct event_info { /* ...

热门问题