Rails rspec测试返回的是返回一个空数组

时间:2018-11-26 17:01:53

标签: ruby-on-rails rspec

我想按格式过滤电影列表。在我看来,这可以正常工作-仅显示DVD格式的电影。 puts语句还在终端中显示正确的响应。我的rspec测试应该按ID查找第一个电影,但由于返回空数组而失败。

控制器代码:

movie_response = #APICALL returns JSON array of movies
dvd_format = []

movie_response.each do |found_movies|

 if found_movies.format == "DVD"
  dvd_format << found_movies
 end
 movie_response = @application.movies
end

@application.movies = movie_response

但是,我知道当我不使用带有以下代码的DVD过滤器时,Rspec测试可以通过ID查找第一部电影。

控制器代码:

movie_response = #APICALL returns JSON array of movies

@application.movies = movie_response

有人能把我推向正确的方向吗?谢谢

1 个答案:

答案 0 :(得分:0)

如果尝试在测试中使用外部API,将会遇到很多麻烦。

我通常使用https://github.com/bblimke/webmock模拟外部呼叫。