模拟静态与动态的类型

时间:2013-12-10 09:02:05

标签: .net mocking moq

我是.net框架的初学者。最近,我开始知道有两种类型的模拟,静态与动态。任何人都可以解释我与示例之间的差异,以及如何使用Moq框架实现它。?

1 个答案:

答案 0 :(得分:1)

静态模拟

我希望你没有与Strict vs Non-Strict mocks.混淆 就Moq而言,静态嘲讽是不可靠的。 我认为它或多或少地继承了一种较旧的编程语言,人们将其称为
亲手写的嘲笑。静态模拟是创建模拟对象的旧方法。哪个是handwritten or hardcoded/static嘲笑。

internal class MyMockDataSource : IDataSource
{ 
  #region IDataSource Members implementation
  …
  #endregion
}

然后将MyMockDataSource注入您的SUT(系统测试中)以进行验证,或者将其作为假容器(如果它是Stub(即StubDataSource))注入。 ** Stub vs Mock *

然而静态模拟因为重复的代码变得非常乏味,并且维护这些额外的代码也不容易。它适用于简单的应用程序,但不适合中型应用程序。

动态模拟

这是使用Dynmaic Mocking的地方。当然,有很多关于如何使用Moq创建动态模拟的示例,我不会通过这些模拟,因为您可以在网上轻松找到它们。