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