找不到PHPUnit类TestCase

Der*_*ing 14 php phpunit composer-php

我正在创建一个PHP库,并希望开始编写测试.我收到了一个错误Fatal error: Class 'PHPUnit\Framework\TestCase' not found.

我的项目结构是:在我的主目录中,我有composer.json,一个带有我所有类的src /目录,一个带单元/和接受/子目录的tests /目录.我试图运行的测试位于unit /目录中.我使用命令行界面来运行测试,以便在运行时发生错误phpunit tests/unit/testMyClass.php

testMyClass.php看起来像:

<?php
require 'vendor/autoload.php';
use PHPUnit\Framework\TestCase;

class MyClassTest extends TestCase {
    public function testCreateMyClass() {
        // Tests are written here
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

我的composer.json是:

{
    "require-dev": {
        "phpunit/phpunit": "4.8.*"
    }
    "autoload": {
        "classmap": [
            "src/"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

mwa*_*zer 20

我遇到了同样的问题,我通过从PHPUnit_Framework_TestCase类扩展我的测试类而不是使用命名空间 PHPUnit\Framework\TestCase来解决它.重建项目结构后,它对我来说很好.

测试/单元/ testMyClass.php

<?php
require './vendor/autoload.php';

class MyClassTest extends PHPUnit_Framework_TestCase {
     public function testCreateMyClass() {
        // Tests are written here
     }
}
?>
Run Code Online (Sandbox Code Playgroud)

composer.json

{
   "name": "root/project",
   "authors": [
      {
           "name": "watzerm",
           "email": "some.email@provider.at"
      }
   ],
   "require": {
       "phpunit/phpunit": "5.4.*"
   },
   "autoload": {
       "classmap": [
           "src/"
       ]
   }
}
Run Code Online (Sandbox Code Playgroud)

结果

$./vendor/bin/phpunit tests/unit/testMyClass.php

PHPUnit 4.8.27 by Sebastian Bergmann and contributors.

.

Time: 252 ms, Memory: 2.25MB

OK (1 test, 0 assertions)
Run Code Online (Sandbox Code Playgroud)

请告诉我这是否也适合您!