我正在写一个单元测试,我偶然发现了一个非常奇怪的行为。
我有一个测试夹具,所以我希望在数据库中看到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在我的测试数据库中创建一行?
答案 0 :(得分:0)
Agent是我系统中的单例模型。我想我正在做一些奇特的事。
显然,如果不存在,Singleton将创建自己。卫生署!