CodeCeption seeInDatabase显示查询未返回任何结果时的传递

时间:2014-04-01 20:37:40

标签: php codeception

Inside Project \ tests \ acceptance \ TestCept.php我有类似的东西:

<?php
$I = new WebPerson($scenario);

$today = date("Y-m-d H:i:s");
echo $today;

$I->wantTo('Test');

$I->seeInDatabase('email',['Emailid' => '1'], ['EmailSubject' => 'Test'], ['SendDate' => $today]);

我跑:

codecept run acceptance --steps

我明白了:

* I see in database "Email",{"Emailid":"1"},{"EmailSubject":"Test"},{"SendDate":"2014-04-01 22:28:11"}
PASSED

当我运行以下查询时:

SELECT * FROM email WHERE emailid= '1' AND EmailSubject='Test' AND SendDate = "2014-04-01 22:28:11";

我得到零结果。

我在俯瞰什么?为什么CodeCeption在没有此查询的记录时返回PASS?

谢谢

1 个答案:

答案 0 :(得分:1)

seeInDatabese()方法应该只获得两个参数!您将WHERE条件作为三个单独的数组传递,因此只有第一个传递给SELECT查询。

你应该写:

$I->seeInDatabase('email',['Emailid' => '1', 'EmailSubject' => 'Test', 'SendDate' => $today]);