使用nUnit测试特定区域性的输出(货币格式),但我们将得到以下结果。
Fail: Formatting currency amount
String lengths are both 11. Strings differ at index 2.
Expected: "12 765,87 €"
But was: "12 765,87 €"
-------------^我们看不出字符串之间的区别。我们的预期结果使用了“空格”字符。
我们是否可以在接受的结果中添加不同的空格字符以使测试通过?
顺便说一句,被测试的培养物是fr-FR。
编辑:谢谢Adam,你的unicode字符说得很对。我们已经改变了预期的结果,现在每个单元测试都通过了。
发布于 2009-04-25 13:03:49
它们可能是不同类型的空间。Unicode有很多不同的space characters。通过将字符转换为整数来查看索引2处的代码点,以获得您的答案。
编辑
作为对您的评论的回应,代码点160是一个non-breaking space。你可以使用enter it directly进入你的源代码(例如Windows上的数字键盘上的Alt+0160 ),或者使用转义序列:
// U+20AC is the Unicode code point for the euro sign
string expected = "12\u00A0765,87 \u20AC";发布于 2009-04-25 13:14:10
它很可能是一个空白字符,而不是空格,以避免标签等,以便在启用自动换行时将数字拆分为两部分。
https://stackoverflow.com/questions/788882
复制相似问题