0

我正在编写测试并验证一些数据。\\由于我在预期的数据字符串中得到了两个,它失败了。

我的测试代码是:

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.'

不确定预期数据中额外的斜杠“\”是从哪里来的。我该如何解决这个问题?

4

2 回答 2

1

使用“文本” - 双引号....

于 2013-06-11T20:17:03.880 回答
0

与其他语言(例如 Python、JavaScript 等)不同,Ruby 在单引号和双引号字符串中使用不同的转义序列。

单引号字符串仅支持\'\\。其他一切都按字面意思对待。所以,'\n'是两个字符\n而不是一个换行符。

要使用换行符,请将您的字符串括在双引号中:

actual_string.should eq "Today is Tuesday.\n It is third day of the week."

这将修复您的测试。

于 2013-06-11T20:55:18.933 回答