我已经尝试在 Laravel 4 中测试我的命令,因为它们是我系统的重要组成部分,但似乎文档覆盖率太低,以至于它们只解释了 Controller 和某些模型的基本测试。
在命令中,您可以通过命令行将参数传递给类,它通过 $this->input 属性接收,我不知道如何模拟。
每当我尝试为我的命令运行测试时,当它需要“fire”方法中的参数时,我会收到此错误:
Fatal error: Call to a member function getArgument() on a non-object in /var/www/html/project/vendor/laravel/framework/src/Illuminate/Console/Command.php on line 153
这是合乎逻辑的,没有传递参数。有没有办法测试这个功能?...
谢谢
最佳答案
其中大部分可以使用 Symfony Command Tester 完成(因为 Command 是基于 Symfony 控制台的),例如:http://alexandre-salome.fr/blog/Test-your-commands-in-Symfony2 .但是,如果您必须调用另一个 artisan 命令,例如 $this->call('db:seed');
等,这将开始失败,因为这实际上是 Illuminate\Console\Application
具体语法。
如果有人对上述情况有解决方案,我会全力以赴。
关于php - Laravel 4 测试 "Command"s?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20990204/