[英]How to get properly formatted test results with nunit constraints
我的自定義約束收集有關期望值和實際值的消息。 通過覆蓋“ WriteDescriptionTo”將它們寫入“ MessageWriter”:
public override void WriteDescriptionTo(MessageWriter writer)
{
writer.WriteExpectedValue(_expectedMessages);
writer.WriteActualValue(_actualMessages);
}
但是在測試結果中,所有信息都在預期結果中:
預期:<關於項目2預期:預期可逆:真<>關於項目2實際:實際可逆:假>但為:<UNSET>
注意:我無法在此處格式化文本,它拒絕尊重我的換行符。 因此,這是結果文本的屏幕截圖:
“但是是:”部分仍為<UNSET>
那么如何使實際文本正確呢?
這不是一個大問題,只是讓我似乎在使用正確的方法感到非常惱火,但它卻無法正常工作,甚至似乎是nunit中的一個錯誤。
好的,我檢查了NUnit的來源。 實際的行始終由框架生成,無論您之前是否調用過WriteActualValue
。
相反,您應該將自定義約束的actual
字段(從Constraint
繼承)設置為_actualMessages
內容(或者重構代碼以完全不使用_actualMessages
生存)。 這應該會帶來預期的輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.