这是我在终端运行'phpunit tests'时收到的失败消息:
1)StylistTest :: test_find null与预期类型“object”不匹配。
/Users/evanbutler/Desktop/hairSalonApp/tests/StylistTest.php:163
这是我的测试方法:
function test_find()
{
//Arrange
$name = "Stylist Jane";
$id = 1;
$name2 = "Stylist Bob";
$id2 = 2;
$test_stylist = new Stylist($name, $id);
$test_stylist->save();
$test_stylist2 = new Stylist($name2, $id2);
$test_stylist2->save();
//Act
$result = Stylist::find($test_stylist->getId());
//Assert
$this->assertEquals($test_stylist, $result);
}
这是我的方法:
static function find($search_id)
{
$found_stylist = null;
$stylists = Stylist::getAll();
foreach($stylists as $stylist) {
$stylist_id = $stylist->getId();
if ($stylist_id == $search_id) {
$found_styist = $stylist;
}
}
return $found_stylist;
}
这是我的getAll方法:
static function getAll()
{
$returned_stylists = $GLOBALS['DB']->query("SELECT * FROM stylists;");
$stylists = array();
foreach($returned_stylists as $stylist) {
$name = $stylist['name'];
$id = $stylist['id'];
$new_stylist = new Stylist($name, $id);
array_push($stylists, $new_stylist);
}
return $stylists;
}
如果您想在此处查看我的所有文件,请访问git存储库: https://github.com/evanb2/hairSalonApp.git
我一直盯着这个太久了,我完全被难倒了。
答案 0 :(得分:1)
更改
$found_styist = $stylist;
到
$found_stylist = $stylist;
你需要一个更好的IDE人。简单的静态分析可以告诉您未使用的变量。