CakePHP测试-动态导入记录

CakePHP测试-动态导入记录,cakephp,testing,fixtures,Cakephp,Testing,Fixtures,我有很多使用固定装置的测试,这对于测试“我是否从这个方法中获得了正确数量的记录”之类的东西来说是非常好的 class CountryFixture extends CakeTestFixture { public $import = array( 'model' => 'Country', 'records' => false ); public $records = array( array('id' =&g

我有很多使用固定装置的测试,这对于测试“我是否从这个方法中获得了正确数量的记录”之类的东西来说是非常好的

class CountryFixture extends CakeTestFixture {
    public $import = array(
        'model' => 'Country',
        'records' => false
    );

    public $records = array(
        array('id' => '1','name' => 'Sweden', 'region_id' => '1'),
        array('id' => '2','name' => 'Norway', 'region_id' => '1')
    }
}
现在我想我要测试数据本身。例如,我想确保没有任何国家因为某种原因失去了它们的地区。然后我制作了一个新的夹具,用于导入所有记录

class CountryLiveFixture extends CakeTestFixture {
    public $import = array(
        'model' => 'Country',
        'records' => true
    );
}
这很好用。但我似乎没有必要创建第二个固定装置。有什么方法可以在测试中动态设置导入记录吗?

“我是否从该方法中获得了正确数量的记录?”

忠告: 您应该测试业务逻辑,而不是框架已经测试过的内容。 如果您的查询是正确的,为什么需要测试您是否确实获得了正确的计数?cake已经为您完成了此操作。

“我是否从该方法返回了正确数量的记录?”

忠告: 您应该测试业务逻辑,而不是框架已经测试过的内容。
如果您的查询是正确的,为什么需要测试您是否确实获得了正确的计数?cake已经为您完成了这项工作。

是的,但我不是在测试框架,而是在测试数据。我在第一个示例中的意思是,使用固定装置的测试适用于测试方法,如getCustomersThatFullFillRequirement,您可以简单地看到记录的数量是正确的,这是动态记录所不能做到的。问题是,我们有一个错误,源于一些国家没有地区id(在这个类比中)。所以我们想,为什么不写一个测试来查看数据,看看我们不会再次出现同样的错误。你明白我想实现什么吗?如果你的函数中只有查询,你就不需要真正测试它。你应该多注意你的问题,也许?如果您在查询中添加了区域id不为NULL的位置,那么您将始终得到正确的结果,除非夹具数据发生更改。问题不在于测试本身。正如我所说的,测试是按原样进行的。问题是我需要两个固定装置。一个是静态数据,即我手动设置att几个POST,另一个是动态数据,即我从数据库导入所有记录。我的问题是,我是否可以只使用一个夹具,并将固定数据用于某些测试,将导入的记录用于其他测试。嗯,是的,但我不是在测试框架,而是在测试数据。我在第一个示例中的意思是,使用固定装置的测试适用于测试方法,如getCustomersThatFullFillRequirement,您可以简单地看到记录的数量是正确的,这是动态记录所不能做到的。问题是,我们有一个错误,源于一些国家没有地区id(在这个类比中)。所以我们想,为什么不写一个测试来查看数据,看看我们不会再次出现同样的错误。你明白我想实现什么吗?如果你的函数中只有查询,你就不需要真正测试它。你应该多注意你的问题,也许?如果您在查询中添加了区域id不为NULL的位置,那么您将始终得到正确的结果,除非夹具数据发生更改。问题不在于测试本身。正如我所说的,测试是按原样进行的。问题是我需要两个固定装置。一个是静态数据,即我手动设置att几个POST,另一个是动态数据,即我从数据库导入所有记录。我的问题是,是否有任何方法可以只使用一个夹具,并将固定数据用于某些测试,将导入的记录用于其他测试。