使用phpspec测试Symfony2命令

时间:2013-11-13 10:20:58

标签: symfony tdd phpspec

我正在使用phpspec来测试我们的应用程序。现在我们需要开发一些命令,因此我也希望对它们进行规范。

我有点卡在这里,因为文档(http://symfony.com/doc/master/cookbook/console/console_command.html#testing-commands)只告诉我如何使用phpunit测试命令。

即使我在规范中使用类似的方法(以某种方式创建内核,并实例化有问题的命令),我认为这不符合描述行为的想法。我只会指出输出是否正确,但是如果命令正在调用正确的方法,则不会这样。等等。

是否有人使用phpspec成功描述Symfony2命令?这样做的可行方法是什么?

由于

2 个答案:

答案 0 :(得分:3)

您可以使用PhpSpec以单元可测试的方式测试Command - 它不是太糟糕但最终会导致大量的输入/输出模拟。

最好让你的命令保持良好和小巧,将它们委托给 进行单元测试的其他服务 - 然后你可以用Behat覆盖并确信它们正在工作。

这是一个非常类似的测试控制器的问题,只是如果你尝试单元测试方法,命令有更多的依赖模拟。

答案 1 :(得分:0)

你应该使用Behat,而不是phpspec