无法运行phpunit测试,无法打开所需的课程

时间:2015-09-23 09:27:13

标签: php phpunit composer-php

所以,这是我的项目的结构

project_name
  /classes
      Calculator.php
  /test
      CalculatorTest.php
  /vendor
      // Related composer/phpunit etc ... stuff
  composer.json
  composer.lock

Calculator.php

<?php
class Calculator{
    public function double($input){
        return $input * 2; 
    }
}

CalculatorTest.php

<?php

require_once '../classes/Calculator.php'; 

class CalculatorTest extends PHPUnit_Framework_TestCase{

    public $testClass; 

    public function setUp(){
        $testClass = new Calculator; 
    }

    public function testDouble(){
        $result = $testClass->double(2); 
        $this->assertEquals(4, $result);        
    }

}

当我运行 phpunit ../../ test 时,我收到以下错误:

  

警告:require_once(../ classes / Calculator.php):无法打开   stream:没有这样的文件或目录   第3行的C:\ wamp \ www \ phpunit \ test \ CalculatorTest.php

     

致命错误:   require_once():无法打开所需的'../classes/Calculator.php'   (include_path ='。; C:\ php \ pear')in   第3行的C:\ wamp \ www \ phpunit \ test \ CalculatorTest.php

我找不到修复方法。你有什么想法吗?

编辑
得到它,忘记了测试类中的 spl_autoload_register

spl_autoload_register(function ($class) {
    require_once 'classes/' . $class . '.php'; 
}); 

1 个答案:

答案 0 :(得分:0)

您要在其他页面中打开该文件。所以路径不正确。

试试这个:

 require_once dirname(__FILE__) . '/classes/Calculator.php

如果计算器与计算机测试类在同一个文件夹中,则不需要设置路径/类