[我喜欢扩展我的Assert.Are等于许多不同的类,当然,已知的是CollectionAssert,但是我可以想到更多诸如:ImageAssert,XmlAssert等。
您是否创建了自己的Assert类?您想创建什么样的新内容?
我喜欢Assert类的感觉,但是想要一些可以用作通用验证框架的东西。我从罗杰·阿尔辛(Roger Alsing)的article开始使用扩展方法开始,现在有了一个像这样的系统:
Enforce.That(variable).IsNotNull();
Enforce.That(variable).IsInRange(10, 20);
Enforce.That(variable).IsTypeOf(typeof(System.String));
etc.
这是我的解决方案:
我的很多测试都围绕加载一个状态良好的对象(例如CuttingPath)进行。执行测试,然后将结果与加载的对象进行比较。如果它们不同,则发生“某些事情”,从而导致代码更改。
我认为,如果您重构测试以减少重复,那么最终您将创建自己的框架作为副产品,当然,您的测试框架将拥有在您的上下文中有意义的断言助手。
如上所述,我刚刚在ImageAssert中添加了一个实现(在我的问题中)我很高兴听到更多这样的样本