2017-06-01 65 views
1

我有以下的說法:NUnit的斷言 - 顯示完整的錯誤消息

Assert.AreEqual(AssertWelcomeMessage, loginPageModel.WelcomeMessage()); 

每個變量的值如下:

AssertWelcomeMessage:您好,歡迎光臨我們的網站!我們真的希望 你喜歡你的訪問!

loginPageModel.WelcomeMessage():您好,歡迎來到我們的網站!我們 真的希望你喜歡你\ n訪問這裏!

所以測試失敗,好的。

當我的日誌我看到以下內容:

預計:「......真希望你旅行愉快!這裏!」

但是:「...真的希望你喜歡你的\ n訪問這裏!」

問題是:我怎樣才能看到完整的句子?

+1

你不能像開發人員編寫代碼那樣。無論如何不需要看完整句。他們向你展示了差異在哪裏。從'loginPageModel.WelcomeMessage()'返回的值中有一個換行符'\ n'。他們只會告訴你他們發現差異的一部分,因爲顯示所有潛在的巨大字符串可能會導致異常。 – Nkosi

回答

3

您不能像開發人員編寫代碼那樣。

無論如何不需要看完全句。他們向你展示了差異在哪裏。從​​返回的值中有一個換行符(\n)。

這是測試報告中需要的重要信息。完整的句子對測試失敗的原因沒有實際價值。信息的真正價值在於它不是預期的事實。

他們只會告訴你他們發現差異的一部分,因爲顯示所有可能的巨大字符串可能會導致異常。

+1

作爲次要的補充:如果您使用帶'EqualConstraint'的'Assert.That',您可以添加修飾符'.NoClip'並查看整個字符串。這是沒用的,但我在調試NUnit時使用了它。 – Charlie