模拟框架中的未来模拟概念

本文关键字:模拟 未来 框架 | 更新日期: 2023-09-27 18:33:08

我正在研究 Telerik 的 JustMock 嘲笑框架。这似乎还不错。有一个对我们来说非常有趣的特殊功能是他们所谓的未来模拟。基本上你可以模拟在你想要测试的方法中创建的实例(我知道代码不好(。

例如:

public void foo()
{
    var service = new MyService();
    service.DoSomething();
}

因此,此功能将允许模拟该 foo(( 方法中使用的 MyService 实例。

我认为TypeMock也有类似的功能。

我想知道是否有其他框架允许这样做?最小起订量?新奇?假的容易?他们有这个功能吗?还有其他框架吗???

模拟框架中的未来模拟概念

你提到的传统框架(Moq,NMock,FakeItEasy(基于松散耦合的生产代码工作。在方法中创建依赖关系(而不是通过参数或类构造函数传递它(使得注入假货(存根或模拟(的接缝是不可能的。

JustMock和TypeMock使用分析器API(IIRC(来拦截和绕行代码来解决这个问题。另一个这样做的框架是Miscosoft Moles,很快将在Visual Studio 11中被命名为Fakes。

注意:但请记住,后一个框架更好 适用于不能使用依赖关系注入的紧密耦合的旧代码。测试 使用这些框架可能会更慢,因为 框架的类似探查器性质的开销。传统的 如果可以使用依赖关系注入并希望单元测试尽可能快,则框架更适合。