我有一个用python编写的项目,我想在这个项目上创建单元测试。
该项目依赖于数据库项目,而数据库项目是数据连接的抽象层。
这个db项目的问题是它是巨大的!因此,当我想要运行单元测试作为一个连续集成管道的一部分时,我必须每次下载它,并使用pip和所有需求等安装它。
忽略即将到来的项目重构,并知道主项目的单元测试只涉及其内部的功能,我将模拟任何数据库查询:
是否有一种方法可以有效地模拟导入(当然,我可以模拟数据库项目中的类),但是我仍然会在代码中使用导入db_project,所以我仍然必须将这个项目拉下来?
如果可能的话,我如何才能删除这些依赖项,因为我知道我无论如何都要模拟使用的任何方法。
发布于 2021-09-24 04:58:18
换句话说,您已经重新发现了依赖注入的需求。这是个好消息!DI是一个解决了的问题,实际上是一个最佳实践,并且通过您自己的经验了解了它为什么是一个好主意,您现在完全理解它是多么好。(就我个人而言,我发现这种学习事物的方式比在教科书中读一些贫血、不令人信服的例子要好得多。)
https://softwareengineering.stackexchange.com/questions/432208
复制相似问题