是否有日志可以查看rspec在运行测试时实际执行的操作?

时间:2016-04-04 19:04:45

标签: ruby-on-rails ruby testing rspec integration-testing

所以我正在尝试为我的API编写一些测试

我有这个网址 / V1 /用户API_KEY = 1: - ?XsF99m7wcvFFzTt-JS

如果我在浏览器中访问它可以正常工作并返回一些JSON。

然而,在我的测试中是

require 'rails_helper'
RSpec.describe "GET /users/index" do

  it 'returns a 200' do
    get "/v1/users?api_key=1:--XsF99m7wcvFFzTt-Js"
    expect(response.status).to eq(200)
  end
 end

当我运行RSpec时,它会给我这个错误

ActionView::MissingTemplate:
   Missing template v1/users/index, api_v1/index, application/index with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder]}. Searched in:

我不明白为什么我将网址粘贴到浏览器中就好了。

首先,respec测试有什么问题吗? 另外在调试方面你打算怎么调试?因为我无法看到任何日志文件,如果你通过浏览器这样做,会看到development.log填满

2 个答案:

答案 0 :(得分:3)

从我收集的内容中,您尝试测试API的JSON响应。但是,您似乎在GET请求中请求HTML格式。

您对users/index JSON视图的看法是什么?如果是,那么这是您的错误来源,并在format: :json请求中指定GET应该可以解决问题。您还可以使用

为所有操作指定json类型
before do
   request.accept = "application/json"
end

在你的描述行动开始时。

根据您的原始问题,RSpec测试记录在log/test.log

答案 1 :(得分:0)

  1. render_views添加到您的describe块。
  2. 您可以查看或查看test.log文件夹中的/log/