8

我对 PHP 测试有些陌生。我已经使用 Cucumber、RSpec、Capybara 和 Factory Girl 对 Rails 进行了相当多的测试,但我几乎没有使用 PHP 进行任何测试。

我将尽可能以最笼统的方式问一个关于我当前挑战的问题,因为我已经走了几条特定的道路,只是遇到了挫折。

我想编写一个用于登录用户的功能测试。创建我需要的测试用户对象以尝试登录的好方法是什么?

更一般地说,在 Symfony2 中创建测试对象的事实标准是什么?夹具?某种工厂?

在 Ruby 中,我会使用 Factory Girl,因为它可以让您以干净、干燥的方式处理任何对象的依赖关系。在 Phactory 中的 PHP 中似乎有一个 Factory Girl 等价物,但不幸的是,该工具似乎没有被广泛使用并且不再维护。

4

3 回答 3

0

我只是自己编写测试数据构建器,因为无论如何几乎没有样板。顺便说一句,Factory Girl 就是这种模式的实现。

您可以在“ Growing Object-Oriented Software, Guided by Tests ”一书中找到关于该模式和许多其他有用内容的很好的讨论。

我建议不要使用固定装置,因为它们是应用程序范围的。每个测试都更好地只准备它自己需要的数据。

于 2012-11-06T16:47:54.710 回答
0

测试环境配置上的装置 可能是要走的路!

关于固定装置是应用程序范围的评论,我不同意。

如果您进行单元测试,那可能会很有意义。

然而,功能测试应该是应用程序范围的。

于 2012-11-06T17:20:03.093 回答
0

我使用夹具进行功能测试,但我不同意它们仅适用于应用程序。我在捆绑范围内使用它,在捆绑中的适当目录中定义。在测试设置中,我从正确的目录运行控制台固定装置:加载方法,可能不是最佳解决方案,但它对我很有用。如果有人有更好的解决方案,我会很乐意阅读它:)

于 2012-11-07T11:02:29.473 回答