我安装PHPUnit
了:
wget https://phar.phpunit.de/phpunit.phar chmod +x phpunit.phar mv phpunit.phar /usr/local/bin/phpunit
尝试运行一个简单的测试,但得到:
Fatal error: require_once(): Failed opening required 'PHPUnit_Extensions_Story_TestCase.php'
我该如何安装PHPUnit_Extensions_Story_TestCase
?
测试很简单:
class TestFunctions extends PHPUnit_Framework_TestCase { public function test_str() { $this->assertEquals('foo', 'bar'); } }
PeqNP.. 5
不幸的是,没有一个建议的修复程序对我有效.典型的响应是安装phpunit/PHPUnit_Story模块.虽然这会让你朝着正确的方向前进,但它并没有解决我的问题.
我在boostrap.php文件中注册了自动加载功能.这很可能取代了由PHPUnit注册的自动加载功能,用于自动加载PHPUnit的类.我评论了我的自动加载功能实现,问题就消失了.
编辑
回应@ user3265472; 我已经有一段时间了,但是我想说"修复"是在bootstrap.php文件的开头设置包含路径,然后像往常一样手动加载类:
/** * Configure include paths used by the unit tests. * * @return void */ function configure_include_paths() { set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . "/mylib"); set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . "/mylib2"); set_include_path(get_include_path() . PATH_SEPARATOR . dirname(dirname(__FILE__)) . "/lib"); } configure_include_paths();
这允许我在每个文件的开头执行以下操作:
require_once("MyClass.php");
而不必确定类与当前类文件的关系.
我还想说,无论我做了什么,我都无法按照我的喜好来上课自动加载.我希望这有帮助.
不幸的是,没有一个建议的修复程序对我有效.典型的响应是安装phpunit/PHPUnit_Story模块.虽然这会让你朝着正确的方向前进,但它并没有解决我的问题.
我在boostrap.php文件中注册了自动加载功能.这很可能取代了由PHPUnit注册的自动加载功能,用于自动加载PHPUnit的类.我评论了我的自动加载功能实现,问题就消失了.
编辑
回应@ user3265472; 我已经有一段时间了,但是我想说"修复"是在bootstrap.php文件的开头设置包含路径,然后像往常一样手动加载类:
/** * Configure include paths used by the unit tests. * * @return void */ function configure_include_paths() { set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . "/mylib"); set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . "/mylib2"); set_include_path(get_include_path() . PATH_SEPARATOR . dirname(dirname(__FILE__)) . "/lib"); } configure_include_paths();
这允许我在每个文件的开头执行以下操作:
require_once("MyClass.php");
而不必确定类与当前类文件的关系.
我还想说,无论我做了什么,我都无法按照我的喜好来上课自动加载.我希望这有帮助.