![](/img/trans.png)
[英]Why, Fatal error: Class 'PHPUnit_Framework_TestCase' not found in ...?
[英]Why am I getting this error? Fatal error: Class 'TestCase' not found
即使我包括了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("ed@lecky-thompson.com", $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);
?>
require_once("PHPUnit/Framework/TestCase.php");
当然,此文件将不包含TestCase
任何定义, 而是 PHPUnit_Framework_TestCase
。 注意并使用正确的类名。
我认为这同样适用于:
require_once("PHPUnit/Framework/TestSuite.php");
这是PHPUnit_Framework_TestSuite
而不是TestSuite
。
而且您只需要/包括autloader,这对于PHPUnit的类就足够了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.