php单元 - 找不到类“ phpunit_framework_testcase”



我知道这个问题已被问到一百次,但我是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:wamp64wwwdatechallangetestsMyDateTest.php on line 3

我在类似答案中尝试了所有解决方案。尝试在类上要求文件,但丢失了其他类。我尝试修改自动加载文件以包含Phpunit库,但我做错了什么,或者不是这样。我尝试修改XML文件,因此我不需要使用-bootstrap,但我的错误也相同。

我想关键是要修改该autoLoad.php文件,但我不确定如何。

谢谢

您似乎有一个或两个问题中的两个。

  • 不使用作曲家,这还将提供一个供应商/autoload.php文件,该文件将自动删除已通过composer.json文件包含的任何文件。
  • 最新版本的phpunit(v> 6.0)不再使用长类名称。仍然支持的V5 确实如此。

安装phpunit 5.7的建议机制是:

composer require --dev phpunit/phpunit:^5.7

另外,它可以作为单个phpunit.phar下载,可以像其他任何其他php脚本一样运行。

您应该在测试文件中尝试一下。

use PHPUnitFrameworkTestCase;
class MyDateTest extends TestCase
{
}

这是最新的正确写作方式。

相关内容

  • 没有找到相关文章

最新更新