Ruby 将RSpec匹配器断开为多行
是否有办法将长RSpec线拆分为两条单独的线:Ruby 将RSpec匹配器断开为多行,ruby,rspec,Ruby,Rspec,是否有办法将长RSpec线拆分为两条单独的线: expect(....).to eq(.....) ? 更新: 现在我有一个错误: 失败/错误: 期望(@query\u builder.questions\u from\u time(@time\u to\u test)).to 参数错误: expect语法不支持运算符匹配器,因此必须将匹配器传递给#to 如果我删除换行符,错误就会消失。to从技术上讲只是一种方法,但常见的样式是在rspec中的to方法上省略括号。但是,如果您将参数分隔到
expect(....).to
eq(.....)
?
更新:
现在我有一个错误:
失败/错误:
期望(@query\u builder.questions\u from\u time(@time\u to\u test)).to
参数错误:
expect语法不支持运算符匹配器,因此必须将匹配器传递给#to
如果我删除换行符,错误就会消失。
to
从技术上讲只是一种方法,但常见的样式是在rspec中的to
方法上省略括号。但是,如果您将参数分隔到没有括号的新行,Ruby解析器似乎没有意识到您正试图将参数发送到to
方法
以下任何一项都应该有效
expect(....).
to eq(.....)
或
或
或
或
我猜它的长短只是“不要在一个没有括号的论点之前打断”。至于使用哪一个,这取决于特定的代码。我会做任何最容易阅读的事情,并保持行的长度相当短。您可以在行的末尾使用反斜杠向ruby指示行继续:
expect(...).to \
eq(...)
您可以像任何其他Ruby代码一样中断is。你有什么问题?如果有更多空格/断行的问题,可以使用更多的括号来帮助Ruby解析代码。我已经更新了我的问题
expect(....).to eq(
.....
)
expect(
....
).to eq(.....)
expect(
....
).to eq(
.....
)
expect(...).to \
eq(...)