php - Laravel 4 测试 "Command"s?

标签 php unit-testing laravel-4

我已经尝试在 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/

相关文章:

javascript - 在 laravel 中将 html block 转换为图像

Laravel hasManyThrough() 在标签和帖子之间

php - 根据 Laravel 中的表单输入验证复合模型字段的唯一性?

php - 哪个更好,常量还是变量?

php - Zend 1.11.9 表单装饰器/验证码

c# - 命中预期异常测试结束后

android - 在单元测试中,如何在断言结果之前等待 RxJava2 Observable 完成

java - 这个特定方法的 JUnit 测试

php - 在 VSCode 中选择引号之间的所有内容的键盘快捷键是什么

php - 从 Facebook 帖子中删除 HTML 标签