每当我在PHPStorm中运行我的单元测试时,我必须从我的类文件中取消我的require_once语句。
如果我有一个班级
require_once 'model/Foo.php'
class Bar extends Foo {
function baz($a, $b) {
...
}
}
我必须创建一个看起来像这样的单元测试类(注意额外的require_once)
require_once 'c:\path\to\project\src\model\Foo.php
require_once 'c:\path\to\project\src\Bar.php
class BarTest extends PHPUnit_Framework_TestCase {
/**
* @covers Bar::baz
*/
function testBaz(){
...
}
}
然后当我完成测试时,我可以浏览所有文件并取消注释require_once语句,然后我可以继续工作或上传到服务器。
我像这样组织我的课程
projectRoot
+-src
| +-index.php and my classes+their folders
|
+-test
+-my unit test classes
这是PHPUnit或PHPStorm中的配置问题吗?我在哪里修理它?我用google搜索了几天,并在phpstorm中使用了phpunit配置设置,但运气不佳。
答案 0 :(得分:3)
这很可能是由于工作目录更改造成的。
您应该从
更改require_once
require_once 'model/Foo.php';
使用绝对路径的东西,例如:
require_once(realpath(dirname(__FILE__) . "/model/Foo.php"));