我正在尝试运行我的组织中另一个开发人员编写的代码测试。我在PHP 5.6上,这是一个带有代码2.1的laravel 5应用程序。我得到的具体错误是
The use statement with non-compound name 'FunctionalTester' has no effect
我们目录中的每个代码生成功能测试都包含行
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;
你得到这个警告的原因是,当你在全局命名空间中时,你试图从全局命名空间导入一个类,这是不需要的,因此没有任何效果。