MOQ 和 AutoFixture 之间有什么区别?

2024-03-12

我有相当多的使用 MOQ 的经验,而我最近偶然发现了 AutoFixture。这些框架之间有什么区别?


The FAQ https://github.com/AutoFixture/AutoFixture/wiki/FAQ解释了其中的差异。简而言之

AutoFixture 使用反射来创建公共类型的“行为良好”实例。如果需要填充构造函数的参数,它会自动生成其他类型的实例,并且还会为公共可写属性赋值。本质上,它只是使用请求类型的公共 API 来实例化和填充它。它不会做任何你作为开发人员无法手动完成的事情 - 它只是自动为你做。

相反,大多数动态模拟库派生自已知类型以覆盖虚拟成员的行为。它们的目的是对被测系统 (SUT) 进行行为验证。

You can 将 AutoFixture 与 Moq 结合起来,将其变成一个自动模拟容器 http://blog.ploeh.dk/2010/08/19/AutoFixtureAsAnAutomockingContainer.aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MOQ 和 AutoFixture 之间有什么区别? 的相关文章

随机推荐