我正在尝试作为一个单独的开发人员进行测试驱动开发(可能会将团队增加到四个)。我有使用NUnit进行单元测试的经验。
我已经开发这个系统好几年了(VB.NET)。在我之前的开发人员在该系统上工作了三年,他支持Martin Fowlers事务脚本方法,这意味着有大量具有大型整体功能的类,实际上没有考虑设计/可重用性等问题。
我已经研究了一些Nunit可用的模拟框架,我相信我唯一的选择是商业产品TypeMock (RhinoMock vs. TypeMock vs. NUnit's Mocking?),因为它允许你模拟非抽象和没有接口的类。这是正确的吗?
我在这里读过一些帖子,暗示事实并非如此。因此,提出这个问题的原因。我可以为事务脚本/单片系统使用任何免费的模拟框架吗?
发布于 2013-07-06 21:20:00
Short Answer
如果您没有抽象类或接口,那么您将不得不使用像TypeMock或Microsoft's Fakes这样的产品。
Long Answer
测试驱动开发的主要优点是它迫使你拥有松散耦合的代码和清晰的抽象。否则,您的测试将变得非常难以设置和维护。
你真正需要做的是慢慢地重构.。。这是我的建议。
模拟没有接口的类对于您不能控制的代码很有用。但它仍然很难,随着时间的推移,它将变得笨拙和复杂。
让你的测试与你对话。如果你的测试很难处理,或者设置起来很复杂,那就意味着你的代码需要重构。不要忽略这些反馈。
https://stackoverflow.com/questions/17503124
复制相似问题