当前位置:  开发笔记 > 编程语言 > 正文

单元测试过程代码时删除依赖项

如何解决《单元测试过程代码时删除依赖项》经验,为你挑选了1个好方法。

在具有继承和虚函数的面向对象语言中,从单元测试代码中删除依赖项(例如数据库,API调用等)可以像将这些依赖项封装在自己的方法中一样简单,然后在继承的测试类中重写这些方法从课堂上进行测试.

但是,在尝试为过程代码执行类似操作时遇到了问题(特别是C).没有继承我不能覆盖那些调用,那么在单元测试过程代码时如何提供相似的依赖删除?

一种选择是提供对这些依赖项的调用的替代方法并用#ifdefs 包围它们,但理想的方法是将单元测试应用于与进入最终构建时相同的代码.这可能吗?



1> Joe Schneide..:

获取修改代码的工作,并宣读题为"我的应用程序所有的API调用"的章节.

基本上,Feathers描述了两个选项:

"链接器接缝":您可以在不需要更改代码的情况下针对您尝试存根的API调用编译不同的实现集 - 基本上将makefile/.sln更改为在函数的不同实现中进行编译.

如果这不起作用,他会谈到"皮肤和包装",你基本上将所有API函数移动到一个抽象基类中,创建两个派生类 - 一个生产和一个单元测试实现,转发调用适当的方法 - 然后使用依赖注入来传递适当的函数集.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有