ruby-on-rails 在Rails testing / rspec中,`request:true`和`type:request`有什么区别?

qcbq4gxm  于 2023-11-20  发布在  Ruby
关注(0)|答案(1)|浏览(139)

我一直在看测试,我看到request: truetype: request被使用,似乎可以互换。
我想知道它们之间有什么区别,如果有任何区别,以及正确的格式是使用.我发现很难找到这两个设置的文档或任何信息,如果有人能指出我,这将是太棒了,谢谢.

9jyewag0

9jyewag01#

type: :request只是metadata,但它有特殊的意义,因为它将导致RSpec::Rails将规范基于ActionDispatch::IntegrationTestActionDispatch::IntegrationTest提供了发送HTTP请求的帮助程序以及许多其他东西。

RSpec.describe "Foo", type: :request do
  context "Bar", baz: "Hello World" do
    it "has metadata" do
      expect(example.metadata[:baz]).to eq "Hello World"
      expect(example.metadata[:type]).to eq :request
    end
  end
end

字符串
我从来没有见过request: true被使用,它不是used in the documentation或生成器,所以公平地说,这是“错误的”方式。
或者RSpec::Rails有一个infer_spec_type_from_file_location!方法,可以让你省略显式的类型声明。

相关问题