[英]Is Unit Test Applicable Here?
public function addPic($loggedInId,$PicId){
$chatCoverPhotoObj = new COVER_PHOTO();
$out = $chatCoverPhotoObj->add($loggedInId,$PicId);
if($out)
return true;
return false;
}
上面的示例代碼是用php編寫的,並且在表COVER_PHOTO Record中的簡單添加記錄Record:“ picId”對應於由“ loggedInId”標識的登錄用戶。
我想知道在該功能的單元測試中應該寫些什么。 或者對於這樣的功能,我們不應該編寫單元測試。
請提出建議?
首先,如果您的被測 系統 / 類使用的是基礎設施方面的任何東西(在您的情況下是數據庫),那么它往往是集成測試 。
單元測試是完全隔離的,所有可能的依賴都被模擬/存根了。
我在您的代碼中看到的第一個問題是new()
建立了函數的依賴關系。 這樣您就不能真正輕松地測試您的代碼。
我建議您最好反轉此依賴關系,並在類的構造函數中有一個接口,該接口可以接收該接口的具體實現。 完成此操作后,您可以在測試中模擬數據庫部分。 但是,通過查看您在問題中共享的代碼,我並不十分確定您要在此處測試什么行為 。
始終確保要測試的內容,在這種情況下,例如持久性規范或映射配置(當然,如果您使用的是某種OR / M )。 僅檢查持久性操作的返回值(成功或失敗標志)並不會增加可測試的業務價值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.