Cakephp 对同一夹具使用单独的数据集

Cakephp 对同一夹具使用单独的数据集,cakephp,fixtures,Cakephp,Fixtures,我有一个外壳,可以发送电子邮件更新一个人的帐户状态。为了编制今天需要接收此电子邮件的人员列表,我有一个方法,可以执行相应的find('all')查询并返回收件人列表。我想对这个方法进行单元测试,以确保正确生成这个列表 然而,现在我有两个单元测试,这取决于我的Person fixture——我的Person模型的测试和这个shell测试。个人模型测试中额外的混乱使得准备一个专注于我的shell测试的数据集非常困难。测试已经完成-如果我更改其中一个的数据集,可能会破坏另一个 我可以根据上下文轻松地为

我有一个外壳,可以发送电子邮件更新一个人的帐户状态。为了编制今天需要接收此电子邮件的人员列表,我有一个方法,可以执行相应的
find('all')
查询并返回收件人列表。我想对这个方法进行单元测试,以确保正确生成这个列表

然而,现在我有两个单元测试,这取决于我的Person fixture——我的Person模型的测试和这个shell测试。个人模型测试中额外的混乱使得准备一个专注于我的shell测试的数据集非常困难。测试已经完成-如果我更改其中一个的数据集,可能会破坏另一个


我可以根据上下文轻松地为同一设备定义单独的数据集吗?我可以为单独的测试创建单独的装置吗?如何创建?

您可以创建任意数量的装置。您可以使用下面的声明
public$fixtures=array('app.Fixture1'、'app.Ficture2'等),选择测试用例加载哪些fixture

您可以从默认数据库连接导入表信息,以便为同一模型(即PersonFixture1、PersonFixture2)轻松创建多个装置。

此外,您还可以覆盖装置的init方法来动态加载记录数据(即更改时间戳)。


希望这有帮助。

此外,如果您使用的是静态定义的表结构而不是导入(如我),则可以通过将设置为适当的值(在我的示例中为“Person”)来完成此操作。