为CakePHP 4.1中的PHP单元测试设置夹具侦听器

问题描述

我无法使用PHPUnit 9.4为CakePHP 4.1项目设置夹具侦听器。

我已在PHPunit.xml.dist中添加了xml:

<!-- Setup a listener for fixtures -->
<listeners>
    <listener class="Cake\TestSuite\Fixture\FixtureInjector">
        <arguments>
            <object class="Cake\TestSuite\Fixture\FixtureManager"/>
        </arguments>
    </listener>
</listeners>

我的composer.json包含以下行:

"autoload": {
    "psr-4": {
        "App\\": "src/"
    }
},"autoload-dev": {
    "psr-4": {
        "App\\Test\\": "tests/","Cake\\Test\\": "vendor/cakePHP/cakePHP/tests/"
    }
},

但是当我从cli运行“ PHPunit.bat测试”时,它给了我以下错误

未找到“ Cake \ TestSuite \ Fixture \ FixtureManager”类

有人知道为什么吗?

解决方法

我通过使用框架的phpunit.bat而不是本地Web服务器(xampp)进行测试来解决该问题:

vendor/bin/phpunit.bat tests

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...