我在这个php项目中使用了带有两个文件夹的Slim框架 - src
和test
。
在src
文件夹内,有一个classes
文件夹,其中包含以下类:
<?php
use Slim\Slim;
class Website {
public $siteId;
protected $db = null;
function __construct($siteId) {
$this->siteId = $siteId;
}
function getDbh() {
if ($this->db === null){
$this->db = Slim::getInstance()->db;
}
return $this->db->getConnection();
}
function getPlacements() {
$placements = array();
$DBH = $this->getDbh();
$query = "select placement from rules where site='{$this->siteId}' group by placement";
$STH = $DBH->query($query);
$placements = $STH->fetchAll(PDO::FETCH_COLUMN, 0);
return $placements;
}
}
我想要做的就是为这个类创建测试,为此我需要从查询中获取数据库的结构,但我无法弄清楚如何做到这一点。我试图在WebsiteTest.php
文件夹中创建这个test
文件:
<?php
use Slim\slim;
require dirname(__FILE__).'/../src/vendor/autoload.php';
class WebsiteTest extends PHPUnit_Framework_TestCase
{
public function testWebsite_init()
{
$dummy = new Website('1232');
$dummy->getDbh();
var_dump($dummy);
}
}
但是当我运行它时我得到了这个错误:
WebsiteTest::testWebsite_init
Trying to get property of non-object
我非常迷失在这里,但猜测它与Slim的使用有关......请帮忙吗?