public function addPic($loggedInId,$PicId){
$chatCoverPhotoObj = new COVER_PHOTO();
$out = $chatCoverPhotoObj->add($loggedInId,$PicId);
if($out)
return true;
return false;
}
上面的示例代码是用 php 编写的,并在表格中简单添加记录COVER_PHOTO记录:"picId"对应于由"loggedInId"标识的登录用户。
我想知道我应该在这个函数的单元测试中写什么。或者对于这样的函数,我们不应该编写单元测试。
请建议?
首先
,如果您的系统/待测类正在使用任何基础设施问题(在您的情况下是数据库(,这往往是集成测试。
单元测试是在完全隔离的情况下进行的,每个可能的依赖项都被模拟/存根。
我在你的代码中看到的第一个问题是你new()
函数的依赖项。这样,您就无法真正轻松地测试您的代码。
我建议你最好反转这个依赖关系,在你的类的构造函数中有一个接口,它可以接收该接口的具体实现。完成此操作后,您可以在测试中模拟数据库部分。但是,通过查看您在问题中共享的代码,我并不真正相信您将在这里测试什么行为。
始终确保要测试的内容,在这种情况下,例如持久性规范或映射配置(当然,如果您使用的是某种 OR/M(。仅检查持久性操作的返回值(即成功或失败标志(不会增加太多要测试的业务价值。