我是.net框架的初学者。最近,我开始知道有两种类型的模拟,静态与动态。任何人都可以解释我与示例之间的差异,以及如何使用Moq框架实现它。?
答案 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创建动态模拟的示例,我不会通过这些模拟,因为您可以在网上轻松找到它们。