w00*_*977 7 .net nunit unit-testing mocking
我正在尝试将测试驱动开发作为单个开发人员(可能将团队增加到四个).我有经验使用NUnit进行有限的单元测试.
我已经开发了这个系统几年(VB.NET).我之前的开发人员在系统上工作了三年,他赞成Martin Fowlers事务脚本方法,这意味着有大型的单一功能,几乎没有考虑设计/可重用性等.
我已经研究了一些可用于Nunit的Mocking框架,我相信我唯一的选择是商业产品TypeMock(RhinoMock vs. TypeMock vs. NUnit的Mocking?)因为它允许你模拟那些没有抽象且没有接口的类.它是否正确?
我在这里读了一些帖子,表明事实并非如此.因此这个问题的原因.我可以为事务脚本/单片系统使用任何免费的模拟框架吗?
Jos*_*osh 25
如果您没有抽象类或接口,那么您将不得不使用TypeMock或Microsoft的Fakes等产品.
不要走这条路.TDD的主要优点是它会强制您使用松散耦合的代码,并清除抽象.没有它,那么你的测试将变得非常难以设置和维护.
你真正需要做的是重构.慢.这是我的建议.
没有接口的模拟类对于您无法控制的代码非常有用.但它仍然很难,随着时间的推移会变得笨拙和复杂.
让你的测试与你交谈.如果您的测试很难处理,或者设置很复杂,那么这意味着您的代码需要重构.不要忽视这些反馈.