在整个项目中模拟函数

发布于 2024-12-12 00:01:54 字数 223 浏览 0 评论 0原文

我想模拟整个项目中实用程序模块中的某个函数,作为测试的一部分套房。我当然可以为每个使用它的模块修补和模拟这个函数,但是这样的函数有很多,而且它会不健壮且乏味。

有没有办法在整个项目中修补\模拟它?
如果我在任何其他模块导入它之前在实用程序模块中修补并模拟它,那么会导入该函数还是模拟?

I would like to mock a certain function in a utility module throughout my project, as part of a testing suite. I could of course patch and mock this function for each module using it, but there are a lot of these and it would be non-robust and tedious.

Is there a way to patch\mock it throughout the project?
If I patch and mock it in the utility module before any other module imports it, would the function be imported or the mock?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吝吻 2024-12-19 00:01:54

当然,只需在脚本中导入模块,对其进行修补,然后导入使用它的其他模块并调用您需要在其中测试的任何模块。模块在一个会话中仅导入一次;其他 import 语句使用已导入的模块。因此导入补丁模块的其他模块将自动获取补丁。

Sure, just import module in your script, patch it, then import the other modules that use it and invoke whatever you need to test in them. Modules are imported only once in a session; additional import statements use the already-imported module. So the other modules that import the patched module will automatically get the patches.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文