-9

在上下文中,嘲笑一词是什么意思C#/WPF

4

2 回答 2

4

在单元测试的上下文中,模拟提供了一种类型的假实现,您的被测代码与之交互。

http://en.wikipedia.org/wiki/Mock_object

Roy Osherove的“单元测试的艺术”一书有很好的解释,如果你开始使用 C# 进行单元测试,我推荐它

模拟与存根的不同之处在于它验证与被测代码的交互。存根仅返回预定义的值以帮助对代码进行单元测试。

于 2013-07-10T10:41:49.003 回答
1

看!!我会给你一些简单的例子,让你理解。

  1. 假设类 say 中有一个方法,ParseEBCDICFileToASCII(strig fileName)并且该文件还验证文件是否存在File.Exist()。现在,您正在编写用于解析逻辑的单元测试,并且您在ParseEBCDICFileToASCII方法中提供了一些文件路径,那么此方法将始终失败或返回,因为您提供的任何文件实际上都不存在。在这种情况下,您将以File.Exist()这样的方式模拟,无论何时调用,您都将返回一个假/模拟值。所以在单元测试中,你的逻辑File.Exist总是会返回模拟值。

  2. 在某些情况下,您正在为任何 Web 服务的客户端应用程序编写测试,然后对于单元测试,您不需要实际的 Web 服务。您可以编写一个模拟的 Web 服务,并且您的实际逻辑将始终针对模拟服务返回模拟值。

所以模拟是一种返回假值的方法,这样你就可以更专注于测试你的实际逻辑......

于 2013-07-10T12:13:38.747 回答