【发布时间】:2015-02-16 18:38:23
【问题描述】:
我正在尝试使用 FactoryMuffin,一个类似于 FactoryGirl 的 php 工厂库,为我的集成测试生成测试数据。
在我的应用程序中,Person 可以有多个 Emails 和多个 Tokens。我想在我的工厂中生成一个Person,其中包含五个Emails 和一个Token,并围绕它编写一些测试。
目前,我正在这样定义我的工厂:
FactoryMuffin::define('Person')->setDefinitions([
'id' => Faker::numberBetween(123456789, 987654321),
'name' => Faker::name()
]);
FactoryMuffin::define('Email')->setDefinitions([
'id' => Faker::numberBetween(123456789, 987654321),
'address' => Faker::email(),
'person_id' => 'factory|Person',
]);
FactoryMuffin::define('Token')->setDefinitions([
'token' => Faker::numberBetween(1234567891234, 9876543211234),
'person_id' => 'factory|Person',
]);
我的问题是,当我创建Person 时,它不会创建任何关联的Emails 或Tokens。当我创建一个Token 时,它会自动创建一个Person,但没有关联的Emails。
我该如何处理?
【问题讨论】:
标签: php testing integration-testing factory-bot factory