我正在使用phpspec来测试我们的应用程序。现在我们需要开发一些命令,因此我也希望对它们进行规范。
我有点卡在这里,因为文档(http://symfony.com/doc/master/cookbook/console/console_command.html#testing-commands)只告诉我如何使用phpunit测试命令。
即使我在规范中使用类似的方法(以某种方式创建内核,并实例化有问题的命令),我认为这不符合描述行为的想法。我只会指出输出是否正确,但是如果命令正在调用正确的方法,则不会这样。等等。
是否有人使用phpspec成功描述Symfony2命令?这样做的可行方法是什么?
由于
答案 0 :(得分:3)
您可以使用PhpSpec以单元可测试的方式测试Command - 它不是太糟糕但最终会导致大量的输入/输出模拟。
最好让你的命令保持良好和小巧,将它们委托给 进行单元测试的其他服务 - 然后你可以用Behat覆盖并确信它们正在工作。
这是一个非常类似的测试控制器的问题,只是如果你尝试单元测试方法,命令有更多的依赖模拟。
答案 1 :(得分:0)
你应该使用Behat,而不是phpspec