CakePHP测试 - 即时导入记录

时间:2013-11-22 15:55:32

标签: cakephp testing fixtures

我有很多使用固定装置的测试,非常适合测试“我从这种方法中获得正确数量的记录”等类似的东西。

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')
    }
}

现在我想我想测试数据本身。例如,我想确保没有国家因某种原因失去了他们的地区。然后我创建一个新的Fixture导入所有记录。

class CountryLiveFixture extends CakeTestFixture {
    public $import = array(
        'model' => 'Country',
        'records' => true
    );
}

哪个工作正常。但似乎没必要我必须创建第二个夹具。有什么办法可以在测试中动态设置导入记录吗?

1 个答案:

答案 0 :(得分:1)

“我从这种方法中获得了正确数量的记录”

建议: 您应该测试业务逻辑,而不是框架已经测试过的东西。 如果您的查询是正确的,为什么您需要测试您是否确实获得了正确的计数?蛋糕已经为你做了。