嘲笑一词在{{1}}的上下文中意味着什么?
答案 0 :(得分:4)
在单元测试的上下文中,mocking提供了一个类型的虚假实现,您的代码可以与之交互。
请参阅http://en.wikipedia.org/wiki/Mock_object
Roy Osherove的书"The Art of Unit Testing"有很好的解释,如果您开始使用C#进行单元测试,我会推荐它。
模拟与存根的不同之处在于它验证了交互与您测试的代码。存根只是返回预定义值以帮助单元测试代码。
答案 1 :(得分:1)
请参阅!!我会给你一些让你理解的简单例子。
假设课程中有一个方法说ParseEBCDICFileToASCII(strig fileName)
,此文件也验证文件是否存在File.Exist()
。现在,您正在为解析逻辑编写单元测试,并且您在ParseEBCDICFileToASCII
方法中提供了一些文件路径,那么此方法将始终失败或返回,因为您提供的文件实际上不存在。
在这种情况下,您将以这样的方式模拟File.Exist()
,只要这将调用您将返回假/模拟值。因此,在单元测试中,File.Exist
的逻辑将始终返回模拟值。
还有一些情况是,您为任何Web服务编写客户端应用程序测试,然后进行单元测试,您不需要实际的Web服务。您可以编写一个模拟的Web服务,您的实际逻辑将始终按模拟服务返回模拟值。
因此,模仿是一种返回虚假值的方法,以便您可以更专注于测试您的实际逻辑......