首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不包括mock

不包括mock
EN

Stack Overflow用户
提问于 2021-01-21 16:35:56
回答 2查看 40关注 0票数 0

如果开发人员要编写集成测试,以实际测试实际代码的全部功能,如何排除mock?它会在Makefile中吗?人们会怎么做?

EN

回答 2

Stack Overflow用户

发布于 2021-01-21 16:49:44

一般来说,您将构建一个调试版本(带有调试符号等,包括mock等)。用于开发/测试,以及发布版本(没有调试符号,不包括mock,有优化等)用于集成/打包/发布。

您的构建系统如何告诉您的代码您正在为集成/发布而构建,以及如何将该信息转换为所需的代码结构,这取决于您和您的构建系统。测试#ifdef NDEBUG是很常见的。

根据您的整体设置,理想情况下应该是您的开发阶段测试代码来设置您的模拟,并且您不会为集成而运行这些测试(因为这是完全不同类型的测试)。

票数 1
EN

Stack Overflow用户

发布于 2021-01-21 16:43:09

我使用了多态性和工厂模式: mock和real类具有相同的接口。工厂参数改变实例化的具体类(比如数据库的模拟或真实数据库)。此参数位于配置文件中。如何更改此参数取决于配置项/构建系统。我使用专门的不同测试套件来进行模拟(单元测试)、集成和功能测试。通过这种方式,该过程是自动化的,并且您的测试框架将为您提供已损坏的结果。上述出厂参数设置的每个套件(单元测试或功能)的配置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65823667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档