我有一个返回数组的方法.我需要使用rspec测试它.有没有我们可以测试的方法:
def get_ids
####returns array of ids
end
subject.get_ids.should be_array
Run Code Online (Sandbox Code Playgroud)
要么
result = subject.get_ids
result.should be an_instance_of(Array)
Run Code Online (Sandbox Code Playgroud)
Sur*_*rya 18
那么,取决于你究竟在寻找什么.
要检查返回的值是否为数组(be_an_instance_of):
expect(subject.get_ids).to be_an_instance_of(Array)
Run Code Online (Sandbox Code Playgroud)
或者检查返回的值是否与期望数组的内容匹配(match_array):
expect(subject.get_ids).to match_array(expected_array)
Run Code Online (Sandbox Code Playgroud)
更新:
正如Patrick的评论中提到的,检查数组使用的等价匹配eq:
expect(subject.get_ids).to eq(expected_array)
Run Code Online (Sandbox Code Playgroud)
对于数组使用的身份匹配equal:
expect(subject.get_ids).to equal(expected_array)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6938 次 |
| 最近记录: |