1

我使用Hautelook AliceBundle,它使用Faker生成带有真实世界数据的固定装置。

在 Alice 中,我们可以在 YAML 文件中使用参数,如下所示:

parameters:
  pwd_parameter:   anything

My\UserEntity:
  #generate 10 users with password equals to my parameter
  user_{1..10}:
    password:      '<{pwd_parameter}>' 

是否可以使用参数来生成动态数量的灯具?

我正在寻找的解决方案是这样做:

parameters:
  pwd_parameter:   anything
  nb_users:        10

My\UserEntity:
  #generate nb_users users with password equals to my parameter
  user_{1..nb_users}:   #<---THIS IS THE PROBLEM
      password:    '<{pwd_parameter}>

我试过了:

user_{1..  nb_users   }
user_{1.. <nb_users>  }
user_{1..<{nb_users}> }
user_{1..<{nb_users}> }

抛出:

警告:array_merge():参数 #1 不是数组

如何动态生成我的实体数量?

4

1 回答 1

2

由于fixture yaml 配置文件不会与symfony 参数合并,因此不可能这样做。

Nelmio\Alice\Fixtures\Fixture\RangeName是用于验证和解析示例中的配置的类。看一下RangeName::canBuild(),您会看到验证 yaml 密钥的正则表达式。

您可以创建自己的生成器方法,该方法将随机插入的夹具行数。

于 2016-09-26T12:58:01.210 回答