2017-06-01 63 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