【问题标题】:RSpec Request TestsRSpec 请求测试
【发布时间】:2020-08-27 11:00:32
【问题描述】:

到此为止,我有点不知所措。一直试图找到一个简单的版本,使用 request_spec.rb 在 RSpec 中编写一些基本的控制器测试以更好地理解它们,但是很多都是复杂的,用我读过的 controller_spec 编写的现在已弃用或为纯粹的 rails 构建app 不是 Rails API。

 RSpec.describe "Users", type: :request do
  it "request list of all users" do
    user = User.create(name: "Ben", age: 20, favourite_mums_dish: "Spaghetti")
    get("/users")
    expect(response).to be_successful
    expect(response).to have_http_status(:success)
    expect(response.body).to include("Ben")
  end
end

最后一个不适用于一个

     Failure/Error: expect(response.body).to include("Ben")
   expected "" to include "Ben"

我将如何创建一个基本测试来简单地测试该用户已被创建并且响应包含它?

非常感谢您提前提供的帮助。任何文档都会有所帮助,因为我也不完全理解 Relish 文档。

【问题讨论】:

  • 我认为您的测试没有问题。您能否分享UsersController#index 的代码和相关的索引视图?如果User.name 属性未传递给视图或未显示在视图中,则测试可能只是正确地识别了该问题。
  • 您确定您的用户实际上是被创建的吗?将 create 更改为 create! 并查看是否引发了任何异常。

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


【解决方案1】:

啊,谢谢,我没有正确放置渲染!非常感谢您确保我的测试是正确的,因为我是该测试的新手,我认为我写错了,而不是控制器!

【讨论】:

    猜你喜欢
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 2012-06-22
    • 1970-01-01
    相关资源
    最近更新 更多