可以模拟一个库吗?

米卡·布里奥莱特

在对该主题进行了数十次研究和大量思考之后,我将其留给您一个新的问题:是否可以使用Python模拟整个库?我想导入该库及其所有包/模块/等,而不必通过模拟和sys.module ... :(

就我而言,我使用的是特定于该工作的库,并且我希望能够在家中处理不依赖于该库的代码,而不必重新编码导入的代码。

例:

"""Main file.

I define the mock here.
"""

mocked = MagicLibraryMock("mylib")  # the dream
"""File with lib imports.

I can import anything and use it as a mock.
"""

import mylib
from mylib.a import b
from mylib.z import c
from mylib.a.e.r import x

foo = x()
bar = c.a.e.r.t.d()
bar.side_effect = [1, 2, 3]
bar()
米卡·布里奥莱特

我试图集成从字典继承的类以重载的__getitem__方法sys.modules但问题是,进口方法也使用__iter__,并且有它变得更加复杂一个返回MagicMock根据该结果,知道它是不建议直接修改导入源代码-

最终,我减少了将时间从我的应用程序提取到子模块中的时间,这些时间将用于解决这些问题。因此,我可以更轻松地拦截这些导入,而不会弄脏我的代码。
设计更有趣。

谢谢你的帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以模拟一个包含的模块吗?

来自分类Dev

我可以创建一个可以添加到数据库中的模拟数据库上下文,然后进行搜索吗?

来自分类Dev

DDD:一个存储库可以访问另一个存储库吗?

来自分类Dev

您可以*模拟*从一个Ubuntu版本升级到另一个版本吗?

来自分类Dev

我可以在实例化时设置一个具有期望(验证)的Mockito模拟吗?

来自分类Dev

一个MySQL查询中的多个更新可以模拟事务行为吗?

来自分类Dev

一个MySQL查询中的多个更新可以模拟事务行为吗?

来自分类Dev

我可以暂停一个进程(“压力”)来模拟内存压力减去CPU成本吗?

来自分类Dev

java easymock:调用模拟时我可以调用另一个方法吗?

来自分类Dev

我可以在 Travis 的一个存储库中构建一些项目吗?

来自分类Dev

我可以将整个android应用打包到一个库中吗?

来自分类Dev

一个grep可以整个数据库吗?

来自分类Dev

一个数据库连接可以有多个并行事务吗?

来自分类Dev

我可以将多个Android密钥库文件合并为一个吗?

来自分类Dev

peewee可以创建一个新的MySQL数据库吗

来自分类Dev

我可以同时将一个库发布到多个npm注册表吗?

来自分类Dev

一个grep可以整个数据库吗?

来自分类Dev

XSLT:我可以创建一个自己作为模板的函数库吗?

来自分类Dev

我可以创建一个循环来更新SQL数据库吗?

来自分类Dev

一个库调用可以调用多个系统调用吗?

来自分类Dev

我可以在 Orbeon 库模块中引用一个部分中的控件吗?

来自分类Dev

我们可以在 gitswarm 的一个项目下有多个存储库吗?

来自分类Dev

可以声明一个清单吗?

来自分类Dev

我可以通过It.Is <>传递给另一个方法来设置模拟吗?

来自分类Dev

我可以模拟在Python测试中另一个函数调用中调用的函数返回吗?

来自分类Dev

我可以创建一个符合接口并且也知道其基类上的方法的模拟吗?

来自分类Dev

与SinonJs模拟一个角存储库

来自分类Dev

用 Typescript 开玩笑地模拟一个库

来自分类Dev

是否可以通过方面记录“模拟”一个类?

Related 相关文章

  1. 1

    我可以模拟一个包含的模块吗?

  2. 2

    我可以创建一个可以添加到数据库中的模拟数据库上下文,然后进行搜索吗?

  3. 3

    DDD:一个存储库可以访问另一个存储库吗?

  4. 4

    您可以*模拟*从一个Ubuntu版本升级到另一个版本吗?

  5. 5

    我可以在实例化时设置一个具有期望(验证)的Mockito模拟吗?

  6. 6

    一个MySQL查询中的多个更新可以模拟事务行为吗?

  7. 7

    一个MySQL查询中的多个更新可以模拟事务行为吗?

  8. 8

    我可以暂停一个进程(“压力”)来模拟内存压力减去CPU成本吗?

  9. 9

    java easymock:调用模拟时我可以调用另一个方法吗?

  10. 10

    我可以在 Travis 的一个存储库中构建一些项目吗?

  11. 11

    我可以将整个android应用打包到一个库中吗?

  12. 12

    一个grep可以整个数据库吗?

  13. 13

    一个数据库连接可以有多个并行事务吗?

  14. 14

    我可以将多个Android密钥库文件合并为一个吗?

  15. 15

    peewee可以创建一个新的MySQL数据库吗

  16. 16

    我可以同时将一个库发布到多个npm注册表吗?

  17. 17

    一个grep可以整个数据库吗?

  18. 18

    XSLT:我可以创建一个自己作为模板的函数库吗?

  19. 19

    我可以创建一个循环来更新SQL数据库吗?

  20. 20

    一个库调用可以调用多个系统调用吗?

  21. 21

    我可以在 Orbeon 库模块中引用一个部分中的控件吗?

  22. 22

    我们可以在 gitswarm 的一个项目下有多个存储库吗?

  23. 23

    可以声明一个清单吗?

  24. 24

    我可以通过It.Is <>传递给另一个方法来设置模拟吗?

  25. 25

    我可以模拟在Python测试中另一个函数调用中调用的函数返回吗?

  26. 26

    我可以创建一个符合接口并且也知道其基类上的方法的模拟吗?

  27. 27

    与SinonJs模拟一个角存储库

  28. 28

    用 Typescript 开玩笑地模拟一个库

  29. 29

    是否可以通过方面记录“模拟”一个类?

热门标签

归档