在Rspec中创建方法

Adn*_*Ali 8 ruby rspec ruby-on-rails rspec-rails

我需要在Rspec中理解这行代码.

create(:practice, creator: create(:physician, password: "password123", password_confirmation: "password123" ), phone: "+1 (555) 555-5554", office: "+1 (555) 555-5555", clinic_key: "abc123")
Run Code Online (Sandbox Code Playgroud)

什么是这个创建功能.它不是内置轨道或ruby功能.我们有文件吗?

got*_*tva 14

它看起来像是createFactoryBot.

通常你需要创建对象,FactoryBot.create(:user)但是如果你配置工厂机器人

RSpec.configure do |config|
  config.include FactoryBot::Syntax::Methods
end
Run Code Online (Sandbox Code Playgroud)

(见这个)你可以省略FactoryBot并使用短变体create(:user).

因此,您的代码practice使用由另一个工厂创建的创建者创建工厂physician.