在php项目

时间:2015-07-21 09:07:36

标签: php phpunit slim

我在这个php项目中使用了带有两个文件夹的Slim框架 - srctest。 在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的使用有关......请帮忙吗?

0 个答案:

没有答案