1
即使我已经包含了TestCase类?为什么我得到这个错误?致命错误:未找到'TestCase'类
<?php
require_once("PHPUnit/Autoload.php");
require_once("PHPUnit/Framework/TestCase.php");
require_once("PHPUnit/Framework/TestSuite.php");
class WidgetSession {
public function __construct($one, $two){}
public function login() {}
public function isLoggedIn() {return null;}
public function getUser(){
return new WidgetUser();
}
}
class WidgetUser{
public $first_name = "";
public $last_name = "";
public $email = "";
public function isSalesPerson() {return null;}
public function isSalesManager() {return null;}
}
class TestWidgetSession extends TestCase {
private $_session;
function setUp(){
$dsn = array(
'phptype' => "pgsql",
'hostspec' => "localhost",
'database' => "widgetworld",
'username' => "wuser",
'password' => "foobar"
);
$this->_session = new WidgetSession($dsn, true);
}
function testValidLogin(){
$this->_session->login("ed", "12345");
$this->assertEqual(true, $this->_session->isLoggedIn());
}
function testInvalidLogin(){
$this->_session->login("ed", "54321"); //fail
$this->assertEquals(false, $this->_session->isLoggedIn());
}
function testUser(){
$user = $this->_session->getUser();
$this->assertEquals("Lecky Thompson", $user->last_name);
$this->assertEquals("Ed", $user->first_name);
$this->assertEquals("[email protected]", $user->email);
}
function testAuthorization(){
$user = $this->_session->getUser();
$this->assertEquals("Sales Person", $user->role);
$this->assertEquals(true, $user->isSalesPerson());
$this->assertEquals(false, $user->isSalesManager());
$this->assertEquals(false, $user->isAccountant());
}
}
$suite = new TestSuite;
$suite->addTest(new TestWidgetSession("testValidLogin"));
$suite->addTest(new TestWidgetSession("testInvalidLogin"));
$suite->addTest(new TestWidgetSession("testUser"));
$suite->addTest(new TestWidgetSession("testAuthorization"));
$testRunner = new TestRunner();
$testRunner->run($suite);
?>
也许有错误TestCase.php –
uuh,[通常你通过PEAR安装PHPUnit](http://stackoverflow.com/questions/5733309/installing-phpunit-and-examples/5733579#5733579),然后它的一切都在你的包含路径中,然后你根本不需要它。 – Gordon
真的很高兴看到人们实际测试他们的代码。作为一个整体,PHP社区在编写结构化代码方面通常很糟糕,而且更糟的是测试它。 –