在 Rspec 中创建方法

create method in Rspec

我需要理解Rspec中的这行代码。

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

这个创建函数是什么。它不是内置于 rails 或 ruby 函数中。我们有它的文档吗?

看起来 create 是从 FactoryBot 调用的。

通常你需要创建类似 FactoryBot.create(:user) 的对象,但如果你配置 factory bot

RSpec.configure do |config|
  config.include FactoryBot::Syntax::Methods
end

(参见 this)您可以省略 FactoryBot 并使用短变体 create(:user)

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