什么是嘲讽? .
当前回答
我认为TypeMock隔离器模仿框架的使用应该是TypeMocking。
它是一种生成模拟以用于单元测试的工具,无需在编写代码时考虑IoC。
其他回答
在SO网站上有很多关于嘲讽的答案,网上也有很多关于嘲讽的好帖子。你可能想从Martin Fowler的文章开始看,他在文章中讨论了很多关于嘲讽的想法。
mock是一种特殊的技术,可以在不依赖依赖项的情况下测试代码单元。一般来说,mock与其他方法的区别在于用于替换代码依赖关系的mock对象将允许设置期望—mock对象将知道您的代码如何调用它以及如何响应。
你最初的问题提到了TypeMock,所以我把我的答案留在下面:
TypeMock是一个商业模拟框架的名称。
它提供了免费模拟框架(如RhinoMocks和Moq)的所有功能,以及一些更强大的选项。
你是否需要TypeMock是有很大争议的——你可以用免费的模拟库做你想做的大部分模拟,很多人争论说TypeMock提供的功能常常会让你远离封装良好的设计。
正如另一个回答所说,“TypeMocking”实际上不是一个定义的概念,但可以理解为TypeMock提供的模仿类型,使用CLR分析器在运行时拦截。net调用,提供更大的伪造对象的能力(而不是需要接口或虚拟方法之类的需求)。
我认为TypeMock隔离器模仿框架的使用应该是TypeMocking。
它是一种生成模拟以用于单元测试的工具,无需在编写代码时考虑IoC。
Mock是以可控的方式模拟真实方法/对象的行为的方法/对象。模拟对象用于单元测试。
测试下的方法通常会调用它内部的其他外部服务或方法。这些被称为依赖关系。一旦模拟,依赖项就会按照我们定义的方式运行。
由于依赖项由mock控制,我们可以很容易地测试我们编写的方法的行为。这就是单元测试。
模拟对象的目的是什么?
mock vs stub
单元测试vs功能测试
模拟类型的目的是切断依赖关系,以便将测试隔离到特定的单元。存根是简单的代理,而模拟是可以验证使用情况的代理。模拟框架是一种帮助您生成存根和模拟的工具。
编辑:由于最初的措辞提到“类型嘲弄”,我得到的印象是,这与TypeMock有关。根据我的经验,一般的说法就是“嘲笑”。请随意忽略下面的信息,特别是TypeMock。
TypeMock Isolator与大多数其他模拟框架的不同之处在于,它可以在运行中修改IL。这允许它模拟大多数其他框架无法模拟的类型和实例。为了用其他框架模拟这些类型/实例,你必须提供自己的抽象并模拟它们。
TypeMock以牺牲干净的运行时环境为代价提供了极大的灵活性。作为TypeMock实现其结果的方式的副作用,您在使用TypeMock时有时会得到非常奇怪的结果。
模拟是为测试生成模拟真实对象行为的伪对象
推荐文章
- 如何直接从测试驱动程序调用自定义的Django manage.py命令?
- 如何重置笑话模拟函数调用计数之前,每次测试
- 在Python Django中运行单元测试时,如何禁用日志记录?
- 在子目录中测试Golang
- 如何比较单元测试中的列表
- 在Xcode单元测试中使用@可测试时“没有这样的模块”
- 更改mocha的默认超时时间
- 如何单元测试Arduino代码?
- 单元测试无效方法?
- 在单元测试中模拟HttpClient
- 为什么visual studio 2012找不到我的测试?
- 无法找到testhost.dll。请发布测试项目并重试
- 我如何“休眠”Dart程序
- 使用Mockito的泛型“any()”方法
- 在Visual Studio 2017中未发现单元测试