我对使用PHP进行测试有些新意。我已经使用Cucumber,RSpec,Capybara和Factory Girl对Rails进行了相当多的测试,但我几乎没有用PHP进行任何测试。
我会以最一般的方式询问有关当前挑战的问题,因为我已经走了几条特定的道路而且只是沮丧地遇到了。
我想编写一个用于签署用户的功能测试。创建测试用户对象的好方法是什么,以便尝试登录?
更一般地说,在Symfony2中创建测试对象的事实标准是什么?赛程?某种工厂?
在Ruby中,我会使用Factory Girl,因为它允许您以干净,干燥的方式处理任何对象的依赖项。在Phactory中似乎有一个与Apple相当的工厂女孩,但不幸的是,该工具似乎没有得到广泛使用而且不再维护。
答案 0 :(得分:0)
我自己写test data builders,因为无论如何几乎都没有样板。顺便说一句,工厂女孩是这种模式的实现。
您可以在Growing Object-Oriented Software, Guided by Tests一书中找到关于模式和许多其他有用内容的良好讨论。
我建议不要使用灯具,因为它们是应用范围的。每个测试都只能更好地准备自己需要的数据。
答案 1 :(得分:0)
关于fixtures being application-wide comment,我不同意。
如果你是单元测试,也许这会很有意义。
然而,Functional tests应该是应用程序范围的。
答案 2 :(得分:0)
我使用灯具进行功能测试,但我不同意它们仅适用于应用范围。我在捆绑范围内使用它,在捆绑中适当的dirs中定义。在测试设置我运行控制台灯具:从正确的目录加载方法,也许不是最好的解决方案,但它对我有用。如果有人有更好的解决方案,我会很乐意阅读它:)