0

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

我有一个测试夹具,所以我希望在数据库中看到 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.

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

4

1 回答 1

0

代理是我系统中的单例模型。我想我在做一些花哨的事情。

显然,如果单例不存在,单例将自行创建。嗬!

于 2013-05-08T23:48:01.250 回答