我知道这个问题已经被问过一百次了,但我是 phpUnit 的新手,我不知道如何使用以前的答案来帮助我的案例
这是我的文件夹结构
/src/MyDate.php
/src/Autoload.php
/tests/MyDateTest.php
/vendor/phpunit/phpunit
自动加载文件中有这个
<?php
spl_autoload_register(
function($class) {
static $classes = null;
if ($classes === null) {
$classes = array(
'mydate' => '/MyDate.php'
);
}
$cn = strtolower($class);
if (isset($classes[$cn])) {
require __DIR__ . $classes[$cn];
}
}
);
MyDateTest.php 有这个
<?php
class MyDateTest extends PHPUnit_Framework_TestCase
{
|
|
test be here
当我运行时
phpunit --bootstrap= src/autoload.php tests/MyDateTest.php
我收到此错误
Fatal error: Class 'PHPUnit_Framework_TestCase' not found in C:\wamp64\www\datechallange\tests\MyDateTest.php on line 3
我尝试了类似答案中的每个解决方案。尝试要求该文件包含该类,但其他类丢失了。我尝试修改自动加载文件以包含 phpunit 库,但要么我做错了什么,要么这不是正确的方法。我尝试修改 xml 文件,这样我就不需要使用 --bootstrap 但我有同样的错误。
我猜关键是修改 autoload.php 文件,但我不知道如何修改。
谢谢
最佳答案
您似乎遇到一个或两个问题。
- 不使用 Composer ,这还将提供一个vendor/autoload.php 文件,该文件将自动提取通过composer.json 文件包含的任何文件。
- 最新版本的 PHPunit (v>6.0) 不再使用长类名。不过,仍然受支持的 v5+ 确实如此。
安装 PHPunit 5.7 的推荐机制是:
composer require --dev phpunit/phpunit:^5.7
或者,它可以作为单个下载 phpunit.phar可以像任何其他 PHP 脚本一样运行。
关于PHP 单元 - 未找到类 'PHPUnit_Framework_TestCase',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42309176/