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?
谢谢
答案 0 :(得分:1)
seeInDatabese()方法应该只获得两个参数!您将WHERE条件作为三个单独的数组传递,因此只有第一个传递给SELECT查询。
你应该写:
$I->seeInDatabase('email',['Emailid' => '1', 'EmailSubject' => 'Test', 'SendDate' => $today]);