【发布时间】:2023-10-23 05:54:01
【问题描述】:
我正在研究一个给定一些设置的函数 - 例如行间距,输出(以字符串形式)被修改。为了测试这样的场景,我使用了字符串字面量,预期结果如下所示。
该方法使用字符串生成器 (AppendLine) 生成所述输出。我遇到的一个问题是比较这些字符串。在下面的示例中,两者在所代表的方面是相同的。结果是我关心的区域,但是当比较两个字符串时,一个是文字,一个不是,相等自然会失败。这是因为其中一个字符串发出行间距,而另一个只显示它包含的格式。
解决这个平等问题的最佳方法是什么?我确实关心方法结果中的格式,例如换行,这是至关重要的。
代码:
string expected = @"Test\n\n\nEnd Test.";
string result = "Test\n\n\nEnd Test";
Console.WriteLine(expected);
Console.WriteLine(result);
输出:
测试\n\n\n结束测试。 测试 结束测试【问题讨论】:
-
为什么你测试
@"Test\n\n\nEnd Test."而不是实际预期输出"Test\n\n\nEnd Test"?没有@就设置预期...... -
@tananscius 原来这是我开始做的,而且实际上是正确的。我已经添加了一个答案作为对此的跟进。