2012-06-08 39 views
0

當我單元測試成員控制器的註冊操作時,如何聲明在我的成員測試數據庫中創建了新記錄?2單元測試控制器驗證操作是否創建新記錄

我想使用getLastInsertID,但我不知道如何加載成員模型來進行調用。

我已經爲我的會員模型進行了測試,該模型涵蓋了註冊和激活,但當我執行激活過程時出現錯誤。我想在控制器中使用測試來驗證新成員是否可以註冊,然後使用兩個測試激活。

更新 我添加App::uses('Member', 'Model');到我的控制器檢測,並且還

public function setUp() { 
    parent::setUp(); 
    $this->Member = ClassRegistry::init('Member'); 
    } 
在功能testRegister

我有:

$data = array(
     'Member' => array(
     'first_name' => 'Foo', 
     'last_name' => 'Bar', 
     'email' => '[email protected]', 
     'password' => 'password', 
     'password_confirmation' => 'password', 
     'security_question' => 0, // Your father's middle name? 
     'security_answer' => 'Randolf the great', 
    ), 
    ); 
    $result = $this->testAction(
     '/Members/register', 
     array('data' => $data, 'method' => 'post') 
    ); 
    debug($result); 

    $this->assertTrue($this->Member->validationErrors); 
    $this->assertTrue($this->Member->getLastInsertId()); 

的斷言顯示「無法斷言陣列()是真「並且」未能斷言null爲真「。

回答

0

我能夠在$this->vars中找到足夠的信息來查找我的模型中的記錄。現在一切都在測試。