在phpstorm 3.0.3中配置phpunit的问题。无法找到所需的文件

时间:2012-03-14 23:59:43

标签: configuration phpunit phpstorm

每当我在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配置设置,但运气不佳。

1 个答案:

答案 0 :(得分:3)

这很可能是由于工作目录更改造成的。

您应该从

更改require_once
require_once 'model/Foo.php';

使用绝对路径的东西,例如:

require_once(realpath(dirname(__FILE__) . "/model/Foo.php"));