我正在编写测试并验证一些数据。由于我在预期的数据字符串中有两个\\
,它失败了。
我的测试代码是:
actual_string.should eq 'Today is Tuesday.\n It is third day of the week.'
当我执行此代码时,我收到一条错误消息,指出实际数据与预期数据不匹配。
实际数据是:
'Today is Tuesday.\n It is third day of the week.'
预期数据为:
'Today is Tuesday.\\n It is third day of the week.'
不确定在预期的数据中来自哪里的额外斜杠'\'。我该如何解决这个问题?
答案 0 :(得分:1)
使用“文字” - 双引号......
答案 1 :(得分:0)
与其他语言(例如Python,JavaScript等)不同,Ruby在单引号和双引号字符串中使用不同的转义序列。
单引号字符串仅支持\'
和\\
。其他一切都按字面意思对待。因此,'\n'
是两个字符\
和n
,而不是一个新的字符。
要使用换行符,请将字符串括在双引号中:
actual_string.should eq "Today is Tuesday.\n It is third day of the week."
这将解决您的测试问题。