2

我在Symfony 4.4项目中遇到了 Panther 的问题。这个项目已经有了LiipFunctionnalTestBundle,但是为了测试 JS,我想要 Panther。我已经在我的作曲家中安装了 Panther,我可以使用或使用Panther"symfony/panther": "^0.8.0"来扩展我的课程和(根据文档symfony/panther)。但我不确定我的项目是否初始化了 Panther ......如果我做一个简单的测试,比如:PantherTestCasePantherTestCaseTraitLiip

<?php

namespace App\Tests\Controller\Social;

use Symfony\Component\Panther\PantherTestCase;

class PantherControllerTest extends PantherTestCase
{

    public function test1(): void
    {
        $client = static::createPantherClient(); // create your panther client

        $client->request('GET', '/login');
    }
}

测试时我会收到一条错误消息:

App\Tests\Controller\Social\PantherControllerTest::test1
Symfony\Component\Process\Exception\LogicException: Output has been disabled.
and it target the line with "createPantherClient".

如果我尝试在 Trait 中使用Liipwith WebTestCaseand Panther :它一直在工作,直到我想使用 Panther 的特定断言。然后我的 IDE 说'assertSelectorIsEnabled'NewsControllerPantherTest'. 该方法createPantherClient无法识别,因此即使我尝试将本地主机和端口放入它,它也不起作用......

所以,我认为 Panther 在我的项目中但没有加载?我在一台装有 Mamp、PHP 7.4.1 和 Apache 的 Windows PC 上。

正如文档中所说,我已将标签放在 phpunit.xml.dist 中。

<?xml version="1.0" encoding="UTF-8"?>

<!-- https://phpunit.readthedocs.io/en/latest/configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
         backupGlobals="false"
         colors="true"
         bootstrap="tests/bootstrap.php"
>
    <extensions>
        <extension class="Symfony\Component\Panther\ServerExtension" />
    </extensions>
    <php>
        <ini name="error_reporting" value="-1" />
        <server name="APP_ENV" value="test" force="true" />
        <server name="SHELL_VERBOSITY" value="-1" />
        <env name="SYMFONY_DEPRECATIONS_HELPER" value="disabled" />
    </php>

    <testsuites>
        <testsuite name="Project Test Suite">
            <directory>tests</directory>
        </testsuite>
    </testsuites>

    <filter>
        <whitelist processUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">src</directory>
        </whitelist>
    </filter>
</phpunit>

非常感谢您的帮助 =)

4

0 回答 0