我有很多使用MOQ的经验,而我最近偶然发现了AutoFixture。这些框架之间有什么区别?
答案 0 :(得分:14)
FAQ解释了差异。简而言之
AutoFixture使用Reflection来创建公共类型的“表现良好”的实例。如果需要,它会自动生成其他类型的实例以填充构造函数的参数,并将值分配给公共可写属性。实质上,它只是使用请求类型的公共API来实例化和填充它。作为一名开发人员,它不能做任何事情,你不能手动做 - 它只是自动为你做。
相比之下,大多数Dynamic Mock库派生自已知类型以覆盖虚拟成员的行为。它们的目的是执行被测系统(SUT)的行为验证。
你可以combine AutoFixture with Moq to turn it into an automocking container。