我对单元测试很新。目前,我在尝试对Google oAuth Picasa身份验证进行单元测试时遇到了麻烦。它涉及代码的重大更改,如果我想进行单元测试(是的,我在应用程序工作后开发单元测试)。
我已经读过Mock Object可能是要走的路。但是,如果我使用Mock,我怎么知道功能(即Google oAuth Picasa身份验证)是否真的有效?
或者,除了我在应用程序完成后开发单元测试外,我是否在理解Mock时犯了其他错误?
答案 0 :(得分:1)
进行单元测试时,在隔离中测试一个特定的单元(功能/方法......),这意味着你不关心你的功能使用的其他组件是否正常工作(因为还有其他单元测试用例包括那些)。
所以要回答你的问题 - 它超出了你的单元测试的范围,是否像Google oAuth这样的外部服务有效。你只需要测试一下你是否正确调用它,这就是Mock派上用场的地方。它记得要求你检查并做出一些关于它的断言,但它阻止了实际出去外部服务/组件/库/其他的请求。
编辑:如果您发现代码过于复杂且难以测试,则可能表明它应该重构为更小的更易于管理的部分。