[英]How to replace an object inside a class being tested using unittest.mock in python
[英]How can mock object replace all system functionality being tested?
我是单元测试的新手。 目前,我在尝试对Google oAuth Picasa身份验证进行单元测试时遇到了麻烦。 如果我想对其进行单元测试,则涉及代码的重大更改(是的,我在应用程序运行后开发了单元测试)。
我读过,模拟对象可能是要走的路。 但是,如果我使用Mock,我怎么知道该功能(即Google oAuth Picasa身份验证)确实有效?
或者,除了在应用程序完成后进行单元测试外,在理解Mock方面是否犯了其他错误?
当单元测试,你在隔离测试特定的单元(函数/方法...),这意味着你不在乎,如果你的函数使用,工作(因为有覆盖的其他单元测试用例)等组成。
因此,回答您的问题-超出单元测试的范围,例如Google oAuth之类的外部服务是否有效。 您只需要测试是否可以正确调用它,这就是Mock派上用场的地方。 它记住了您检查并对其进行断言的调用,但是它阻止了实际向外部服务/组件/库/其他发出请求的请求。
编辑:如果您发现代码过于复杂且难以测试,则可能表明应将其重构为更小,更易于管理的部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.