繁体   English   中英

为什么会出现此错误? 致命错误:找不到类“ TestCase”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM