您如何扩展Assert类[关闭]

问题描述 投票:12回答:5

[我喜欢扩展我的Assert.Are等于许多不同的类,当然,已知的是CollectionAssert,但是我可以想到更多诸如:ImageAssert,XmlAssert等。

您是否创建了自己的Assert类?您想创建什么样的新内容?

c# unit-testing tdd assertions
5个回答
4
投票

我喜欢Assert类的感觉,但是想要一些可以用作通用验证框架的东西。我从罗杰·阿尔辛(Roger Alsing)的article开始使用扩展方法开始,现在有了一个像这样的系统:

Enforce.That(variable).IsNotNull();
Enforce.That(variable).IsInRange(10, 20);
Enforce.That(variable).IsTypeOf(typeof(System.String));
etc.

4
投票

这是我的解决方案:


0
投票

我的很多测试都围绕加载一个状态良好的对象(例如CuttingPath)进行。执行测试,然后将结果与加载的对象进行比较。如果它们不同,则发生“某些事情”,从而导致代码更改。


0
投票

我认为,如果您重构测试以减少重复,那么最终您将创建自己的框架作为副产品,当然,您的测试框架将拥有在您的上下文中有意义的断言助手。


0
投票

如上所述,我刚刚在ImageAssert中添加了一个实现(在我的问题中)我很高兴听到更多这样的样本

© www.soinside.com 2019 - 2024. All rights reserved.