Selenium RC - 无法重新声明类PHPUnit_Framework_TestCase

时间:2011-01-12 15:58:48

标签: selenium-rc php include-path

我在网上发现了各种各样的地方,但没有实际解决方案。运行测试的默认代码是

<?php

set_include_path(get_include_path() . PATH_SEPARATOR . './PEAR/');
require_once 'Testing/Selenium.php';
require_once 'PHPUnit/Framework/TestCase.php';

class GoogleTest extends PHPUnit_Framework_TestCase
{
    private $selenium;

    public function setUp()
    {
        $this->selenium = new Testing_Selenium("*firefox", 
                                               "http://www.google.com");
        $this->selenium->start();
    }

    public function tearDown()
    {
        $this->selenium->stop();
    }

    public function testGoogle()
    {
        $this->selenium->open("/");
        $this->selenium->type("q", "hello world");
        $this->selenium->click("btnG");
        $this->selenium->waitForPageToLoad(10000);
        $this->assertRegExp("/Google Search/", $this->selenium->getTitle());
    }

}
?>

这给了我以下错误

Fatal error: Cannot redeclare class PHPUnit_Framework_TestCase in /usr/lib/php/PHPUnit/Framework/TestCase.php on line 115

我的包含路径看起来像这样

.:/usr/lib/php/ZendLatest/library/:/usr/lib/php/:./PEAR/

任何人都可以帮我解决这个问题吗?重新声明类的位置并不明显,它是在上面提到的文件的第115行还是在其他地方?

由于

1 个答案:

答案 0 :(得分:1)

我通过更改行

解决了这个问题
 require_once 'PHPUnit/Framework/TestCase.php';

require_once 'PHPUnit/Framework.php';

Framework.php文件是PHPUnit的Bootstrap,包括此处理所有其他包含。包含TestCase.php不起作用,因为它不是Bootstrap文件,因此无法正确加载PHPUnit。