3

我正在使用 phpspec 来测试我们的应用程序。现在我们需要开发一些命令,因此我也想指定这些命令。

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

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

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

谢谢

4

2 回答 2

3

您可以使用 PhpSpec 以可单元测试的方式测试 Command - 这还不错,但您最终会遇到很多输入/输出的模拟。

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

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

于 2014-04-19T08:31:55.577 回答
0

您应该为此使用 Behat,而不是 phpspec

于 2013-11-28T11:48:41.693 回答