2
我打算实施自己的一套约束条件,并且在理解如何实施Constraint
类的以下方法时遇到一些困难。实现NUnit 2.5 Constraint.Write *()方法的正确方法是什么?
public abstract class Constraint
{
public abstract void WriteDescriptionTo(MessageWriter writer);
public virtual void WriteMessageTo(MessageWriter writer);
public virtual void WriteActualValueTo(MessageWriter writer);
}
的documentation建议阅读源代码以获得关于如何使用它们是一个好主意,但我已经研究了很多的限制,并没有从他们的执行见过什么偏差 - 通常WriteDescriptionTo()
是只执行方法。
从我的观察:
WriteMessageTo()
被称为写断言错误信息到控制台WriteActualValueTo()
格式是给予约束的实际参数的值,用于写入控制台
但是,我不明白WriteDescriptionTo()
的目的,也不明白为什么它是抽象的 - 特别是当重写WriteMessageTo()
就足够了。
谢谢你的信息阿德里安。这听起来像我应该重写WriteDescriptionTo()和WriteActualValueTo()如果我打算使用默认的错误格式。重写WriteMessageTo()意味着其他两种方法的默认或不执行操作就足够了。 – 2009-07-09 14:35:08