Codeception сгенерировал функциональный тест, вызвавший ошибку «использовать оператор с несоставным именем»

Я пытаюсь запустить кодовые тесты, написанные другим разработчиком в моей организации. Я использую php 5.6, и это приложение laravel 5 с codeception 2.1. Конкретная ошибка, которую я получаю, это The use statement with non-compound name 'FunctionalTester' has no effect

Каждый функциональный тест, сгенерированный codeception в нашем каталоге, включает строку use \FunctionalTester;; я могу подавить ошибку, просто добавив as ft; в конец строки, но это не главное.

в некоторых других примерах в Интернете я вижу здесь ключевое слово namespace вместо use.

в качестве последнего примера команда php ./vendor/bin/codecept generate:cest functional foo создает следующий файл (который вызовет эту ошибку)

use \FunctionalTester;

class fooCest
{
  public function _before(FunctionalTester $I)
  {
  }blah blah blah

кстати, php не мой основной язык. Даже если бы эта use без namespace была лишней, не вижу смысла поднимать на ней. ХОРОШО! Спасибо!


person erikdstock    schedule 08.01.2016    source источник
comment
в этом есть вопрос?   -  person lagbox    schedule 08.01.2016
comment
Ошибка использования use с объектом в глобальном пространстве имен — несоставной объект. Код, вызывающий это, генерируется автоматически с помощью codeception. Насколько я могу судить, это происходит только в моей системе.   -  person erikdstock    schedule 08.01.2016
comment
Я пытаюсь понять, в чем заключается ваш вопрос, потому что все, что здесь есть, это утверждения. :)   -  person lagbox    schedule 08.01.2016
comment
Мне интересно, почему я получаю сообщение об ошибке из кода, сгенерированного инфраструктурой кодирования, когда это не кажется проблемой для других. Я предполагаю, что мой вопрос касается запуска тестов без создания исключения в строке 2.   -  person erikdstock    schedule 08.01.2016


Ответы (2)


Обновите Codeception до версии 2.1.5, эта проблема уже исправлена: https://github.com/Codeception/Codeception/commit/892f85388c8dd2c57e120f9a3e225074a9ae175b

person Naktibalda    schedule 08.01.2016

Удалять

use \FunctionalTester;

Причина, по которой вы получаете это предупреждение, заключается в том, что, находясь в глобальном пространстве имен, вы пытаетесь импортировать класс из глобального пространства имен, что не требуется и, следовательно, не имеет никакого эффекта.

person jedrzej.kurylo    schedule 08.01.2016