2014-04-01 83 views
0

內項目\測試\驗收\ TestCept.php我有類似:CodeCeption seeInDatabase顯示通時,查詢不返回任何結果

<?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

seeInDatabese()方法應該得到只有兩個參數!您將您的WHERE條件作爲三個單獨的數組傳遞,因此只有第一個傳遞給SELECT查詢。

你應該寫:

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