Ошибка PHPUnitTest при запуске Test в Lumen Laravel 'Неопределенная переменная: статус' - PullRequest
0 голосов
/ 18 марта 2020

Когда я запустил тест, я получил следующую ошибку:

PHPUnit 8.5.2 by Sebastian Bergmann and contributors.
Warning:       Invocation with class name is deprecated

ErrorException : Undefined variable: status
/opt/project/vendor/laravel/lumen-framework/src/Testing/Concerns/MakesHttpRequests.php:424

Это мой код:

<?php

use Laravel\Lumen\Testing\DatabaseTransactions;

class AuthControllerTest extends TestCase
{
  use DatabaseTransactions;

  public function testLogin()
  {
    $params = ['email' => 'super@mail.com', 'password' => '12345678'];
    $response = $this->post('/web/auth/login', $params);
    $response->assertResponseStatus(200);
    $response->seeJsonStructure(['data', 'message']);
  }

}

phpunit. xml file

<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
         bootstrap="vendor/autoload.php"
         colors="true">
<testsuites>
  <testsuite name="Application Test Suite">
    <directory suffix="Test.php">./tests</directory>
  </testsuite>
</testsuites>
<filter>
  <whitelist processUncoveredFilesFromWhitelist="true">
    <directory suffix=".php">./app</directory>
  </whitelist>
</filter>
<php>
  <env name="APP_ENV" value="testing"/>
  <env name="CACHE_DRIVER" value="array"/>
  <env name="QUEUE_CONNECTION" value="sync"/>
</php>
</phpunit>

Composer file

...
"require": {
        "php": "^7.2.5",
        "barryvdh/laravel-dompdf": "^0.8",
        "guzzlehttp/guzzle": "^6.5",
        "illuminate/mail": "7.1.1",
        "illuminate/redis": "^7.1",
        "laravel-doctrine/orm": "1.6",
        "laravel/lumen-framework": "^7.0",
        "lcobucci/jwt": "^3.2",
        "palanik/lumen-cors": "dev-master",
        "phpmailer/phpmailer": "^6.1.4",
        "predis/predis": "^1.1"
    },
    "require-dev": {
        "fzaninotto/faker": "^1.9.1",
        "mockery/mockery": "^1.3.1",
        "phpunit/phpunit": "^8.5",
        "squizlabs/php_codesniffer": "^3.1"
    },
...

PHP Версия 7.2.21

Я тестирую свой код в контейнере с docker, я надеваю не знаю, если последний имеет отношение. То есть ответ отлажен, значение status представлено, поэтому я не понимаю, почему PHPUnit выдает ошибку.

debuggin the test

Спасибо за вашу поддержку .

1 Ответ

0 голосов
/ 27 марта 2020

Это ошибка на laravel/lumen-framework, которая должна быть исправлена ​​в версии 7.0.1: https://github.com/laravel/lumen-framework/pull/1044.

...