我正在建立一个新的Laravel项目和集成PHPSpec。我很难找到一个很好的phpspec.yml文件工作示例,它可以很好地与Laravel一起工作。类似于Rails中的RSpec。
我想要的文件夹结构如下所示
spec/
models/
controllers/
app/
models/
controllers/我的phpspec.yml当前如下所示:
suites:
controller_suite:
namespace: Controller
spec_path: 'spec/controllers'
src_path: 'app/controllers'
model_suite:
namespace: Model
spec_path: 'spec/models'
src_path: 'app/models' 我在spec/ Model文件夹中复制了与模型相关的测试,但是当我'phpspec运行‘时,它不会运行其中的任何一个。我还意识到名称空间不是Laravel中的“Model”和“Controller”,也许更像雄辩和BaseController。
我还使用了这个扩展:https://github.com/BenConstable/phpspec-laravel
我不知道该如何设置,也找不到任何有用的例子。提前感谢!
编辑:在Jeffrey的另一个论坛上的建议:
你可以用Behat测试你的控制器。PHPSpec并不是它的替代品(或共同欺骗)。
更新:
从那以后,我决定使用widely代替,因为它似乎集成到Laravel中,并得到了广泛的应用。
发布于 2014-03-11 16:52:55
请通过本·康斯特布尔的电子邮件回复:
用Laravel设置默认的文件布局是相当困难的,我还没有弄清楚如何做。但是,您可以让它使用稍微不同的布局,如:
phpspec.yml中,您将拥有:
扩展:-PhpSpec\Laravel\Extension: laravel_controller_suite:命名空间: src_path: app laravel_model_suite:命名空间: Models src_path: app laravel_extension: testing_environment:“测试”
最后,您需要修改composer.json以将app/包含在autoload类映射中。您的模型、控制器以及其他将命名的内容,例如:发布于 2017-11-06 08:43:13
对于那些使用Laravel5.x和PhpSpec 4.x的用户,您可以使用PSR4前缀配置进行调整,以便使PhpSpec与Laravel布局兼容。
我的项目使用了以下配置:
suites:
app:
namespace: App
src_path: app
psr4_prefix: App
spec_prefix: classes
spec_path: specshttps://stackoverflow.com/questions/22323536
复制相似问题