Nettiers Mock场景

时间:2011-11-23 13:55:44

标签: c# mocking .nettiers

有没有人有一个很好的例子说明你在哪里使用Nettiers并且能够为了单元测试而进行某种形式的模拟。努力让我理解这个想法。

我的想法是创建一个新的提供程序并使用此提供程序进行所有单元测试。此提供程序不会连接到数据库,而是具有静态数据。

2 个答案:

答案 0 :(得分:1)

对于那种情况,我认为模拟框架MOQ是一个很好的决定。我们在公司使用它并对它感到满意。有关详细信息,请查看 the homepage of moq open source project 。通过这样的模拟,您将有很多机会根据需要创建测试。

答案 1 :(得分:0)

我们已成功使用typemock isolator模拟netTiers服务。

Typemock对我们来说效果很好,因为正如它在功能列表中所说,它允许你模拟“不可测试的代码,如:静态,密封和非虚拟方法” - 虽然这不是最纯粹的模拟方法,但它确实允许您可以在代码中更深入地测试类,这些代码可能无法轻松注入。 (在我们的例子中,通过我们自己的糟糕设计: - )

因此,在我们的示例中,我们将netTiers解决方案编译为二进制文件并在我们的项目中引用它们。然后,我们构建我们的业务服务以包装netTiers服务,从而添加额外的逻辑,并在某些情况下添加缓存。我们没有构建任何类型的依赖注入,并在当天晚些时候添加了单元测试。

因此,使用typemock,我们能够针对我们的控制器层创建一个测试并让它测试控制器和业务服务,并告诉typemock,当在业务服务层中实例化客户服务时,将其与返回的模拟交换出来而是固定数据。