我想在我的控制器的某些操作中使用CakePHP 2.2 RC1測試我的應用程序,我需要Auth對象的一個信息,在我的測試中我創建了一個模擬對象爲Auth組件,但是當我調用方法與我的模擬對象變爲無效,當我不把這一切工作正常。CakePHP「與」模擬對象中的方法不工作
下面的模擬對象至極不工作
$this->controller->Auth
->staticExpects($this->any())
->method('user')
->with('count_id')
->will($this->returnValue(9));
感謝您的關注球員。
-
編輯
我上面的測試案例的完整代碼,這是一個非常簡單的測試。
class TagsControllerTest extends ControllerTestCase {
public function testView(){
$Tags = $this->generate('Tags', array(
'components' => array(
'Session',
'Auth' => array('user')
)
));
$Tags->Auth->staticExpects($this->any())
->method('user')
->with('count_id')
->will($this->returnValue(2));
$result = $this->testAction('/tags/view');
$this->assertEquals($result, 2);
}
}
和我的標籤控制器動作的代碼,這沒有什麼更多(用於測試目的)他們的用戶對象與count_id作爲參數返回。
public function view(){
return $this->Auth->user('count_id');
}
運行我接收到該消息中的測試:
期望失敗方法名調用的調用AuthComponent零次或多次 參數0時等於::用戶(空)不匹配期望值。 失敗斷言空符合預期'count_id'。
你的測試方法是什麼樣的?你的'setUp()'怎麼樣? –
嗨,我的方法驗證用戶是否可以根據她所關聯的計數來執行操作。如果使用高於測試套裝返回的代碼運行測試**當調用零次或多次時,方法名稱的期望失敗等於 調用AuthComponent :: user(null)的參數0與預期值不匹配。 失敗斷言空符合預期的'count_id'。**,你知道什麼會導致這種情況? –
請修改您的問題並添加您的測試方法的代碼,您正在測試的方法和您的setUp()(如果可用),很難說沒有看到代碼就會發生什麼。看看你的錯誤消息,好像有一個調用user()的地方,你失蹤了(在一個組件可能?) –