Yii CDbTestCase findByAttributes正在创建一行

时间:2013-05-07 20:05:29

标签: php model yii phpunit

我正在写一个单元测试,我偶然发现了一个非常奇怪的行为。

我有一个测试夹具,所以我希望在数据库中看到1行(夹具中只列出了1行)我编写了一些代码来运行findByAttributes,如下所示:

$client_id = 6;
$unique = array (
    "client_id" => (String) $client_id,
    "id" => "2" //I have a fixture that uses id 1
);

$model = Agent::model()->findByAttributes($unique);
die();

当我在测试运行并且命中模具后进行此配置时,我在数据库中看到2行。但是,如果我这样做:

$client_id = 6;
$unique = array (
    "client_id" => (String) $client_id,
    "id" => "2" //I have a fixture that uses id 1
);

die();
$model = Agent::model()->findByAttributes($unique);
//NOTE: I only moved the die() above the findByAttributes.

我只看到夹具中的1行。为什么findByAttributes在我的测试数据库中创建一行?

1 个答案:

答案 0 :(得分:0)

Agent是我系统中的单例模型。我想我正在做一些奇特的事。

显然,如果不存在,Singleton将创建自己。卫生署!