我如何开始使用PHPUnit,我的类构造需要预先配置的数据库连接?

时间:2010-05-29 21:18:50

标签: database unit-testing zend-framework phpunit

我有一个内部使用大量数据库的类,所以我构建了一个带有$ db句柄的构造函数,我应该传递给它。

我刚刚开始使用PHPUnit,我不知道如何继续通过设置传递数据库句柄。

// Test code
public function setUp(/*do I pass a database handle through here, using a reference? aka &$db*/){
    $this->_acl = new acl;
}

// Construct from acl class
public function __construct(Zend_Db_Adapter_Abstract $db, $config = array()){

2 个答案:

答案 0 :(得分:1)

你可以在没有引用的情况下正常地执行构造函数,因为这种方法最简单。

答案 1 :(得分:1)

你会这样做:

public class TestMyACL extends PHPUnit_Framework_TestCase {

    protected $adapter;
    protected $config;
    protected $myACL;

    protected function setUp() {
        $this->adapter  = // however you create a new ZendDbADapter
        $this->config   = // however you create a new config array
        $this->myACL    = new ACL($this->adapter, $this->config); // This is the System  Under Test (SUT)
    }

}

恕我直言,您需要处理您的命名约定。首先,请参阅Zend Framework Naming Conventions。一个例子是下划线,在链接中查找变量。也是类命名。