Codeception生成的功能测试引发错误';使用非复合名称';的语句;


Codeception generated functional test raising error 'use statement with non-compound name'

我正在尝试运行由我所在组织的另一个开发人员编写的代码感知测试。我使用的是php 5.6,这是一个带有codeception 2.1的laravel 5应用程序。我得到的具体错误是 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是多余的,我也看不出有什么意义。好吧!谢谢

将Codeception升级到2.1.5,这个问题已经解决:https://github.com/Codeception/Codeception/commit/892f85388c8dd2c57e120f9a3e225074a9ae175b

删除

use 'FunctionalTester;

您收到该警告的原因是,在全局命名空间中时,您正试图从全局命名空间导入类,这是不需要的,因此没有任何效果。