我正在做一个 do.net 核心项目,试图在我的 Xunit.net 测试中模拟一些第三方类。 我试图伪造的 class 无法通过 Moq 或 NSubstitute 等受限框架进行模拟。 所以我需要一个不受约束的框架来做到这一点。 假设我想在我的.net 核心测试项目中伪造 DateTime.No ...
我正在做一个 do.net 核心项目,试图在我的 Xunit.net 测试中模拟一些第三方类。 我试图伪造的 class 无法通过 Moq 或 NSubstitute 等受限框架进行模拟。 所以我需要一个不受约束的框架来做到这一点。 假设我想在我的.net 核心测试项目中伪造 DateTime.No ...
我正在尝试学习单元测试,但是由此导致了一个设计问题。 考虑类A与类B的依赖关系。如果要为B创建存根以便对A进行单元测试,则大多数隔离框架都要求B必须是接口,否则A使用的所有方法都必须是虚拟的。 为了进行单元测试,B本质上不能是具有非虚拟方法的具体类。 这对生产代码的设计施加了主要限制。 ...
我有一个任务来学习如何使用隔离框架。 我想知道我是否要用nsubstitute伪造专有方式。 这是应用程序外观的序列图 。 然后,我进行了单元测试并进行了练习。 有人告诉我,我没有使用隔离框架来创建伪造品(而不是我们自己制造伪造品)。 这是我的两个测试的示例: 和 ...
这是我想象的开发和部署过程: 创建项目目录my_project 。 将所需的Ruby版本安装到其中。 安装所需的宝石。 写一些代码。 使用fpm来打包整个东西。 将debian软件包发送到生产箱并安装。 我使用RVM和Bundler来解决 ...
阅读了关于Moles的好东西后,我想在我们用于编写单元测试的工具集中添加一个隔离框架。 我们的应用程序在Mono下运行,因为它部署在Linux和Windows上,我似乎找不到支持Mono的框架。 我已经看过一些关于使用塞西尔操纵装配的文章,但我很难找到任何我们可以实际使用的东西。 ...
在Roy Osherove的书[单元测试] [1]一书中,他解释说单个单元测试应该包含0到1个模拟。 他建议如果你的测试没有在模拟上断言,那么根本不要使用模拟。 他进一步演示了如何使用隔离框架来生成存根,这些存根与模拟类似。 他没有对每次测试创建的存根数量建议限制。 我的问题是:这些 ...
我意识到这已经被问过,但最后一次是在2008年中期。 如果你现在正在开始一个新项目,你会使用哪一个?为什么? 他们在可读性,可用性,可维护性和整体稳健性方面的优势/劣势是什么? ...
Moles是Microsoft创建的隔离框架。 Moles的一个很酷的功能是它可以“模拟”静态/非虚拟方法和密封类(这对于像Moq这样的框架是不可能的)。 以下是Moles可以做的快速演示: 看起来像Moles能够在运行时修改DateTime.Now之类的CIL主体。 由于Mole ...
我读过这个: http : //martinfowler.com/articles/mocksArentStubs.html关于存根和模拟的概念很清楚。 我理解像moq,rhinomocks等隔离框架的需要来创建一个模拟对象。 作为嘲笑,参与实际的期望验证。 但是为什么我们需要这些框架来创 ...
一个月前,我读完了《单元测试的艺术》一书,今天终于有时间开始使用Rhino Mocks进行单元测试了,该服务向设备发送/接收消息(UDP),并从数据库保存/加载数据。 当然,我想隔离数据库和UDP通信。 例如对于数据库访问,我们有一些带有静态方法的类,我们称它们为: Area ...
我已经使用过RhinoMocks产品很长一段时间了,对产品非常满意 - 从来没有理由去其他地方看看。 我最近被TypeMock的优秀人员要求给他们的产品一个旋转,并想知道其他开发人员对Typemock Isolator的看法。 你会建议其他隔离/模拟框架吗?为什么? ...
我正在努力学习如何进行单元测试和模拟。 我理解TDD和基本测试的一些原理。 但是,我正在考虑重构下面的代码,这些代码是在没有测试的情况下编写的,并且我试图了解它是如何更改以使其可测试的。 这两种方法属于单一类。 GetAgentFromDatabase中与数据库相关的代码与Ente ...