Laravel 网络 api 的测试策略

Testing strategies for a Laravel web api

我是 laravel 和一般软件测试的初学者。我的问题不是如何使用 PHPunit 或任何测试框架的断言或提供的帮助程序。我主要关心的是了解如何在 laravel 这样的框架上为 MVC web API 布置测试方法。比如你在测试时应该记住什么,你是否应该使用单元测试或集成测试,你如何处理模型、控制器、策略、中间件等。所以如果有经验丰富的测试人员 laravel 在那里我将不胜感激。

@ramy-farid 我认为这个问题对于 Whosebug 来说过于宽泛。我希望以下资源可以提供帮助:

如果您正在寻找一个起点,请考虑查看 Laracasts 上可用的测试系列:https://laracasts.com/skills/testing 如果您没有订阅,那么我强烈推荐它!

此外,请考虑通读特定于测试的文档,看看您掌握了哪些测试功能开箱即用https://laravel.com/docs/5.3/testing

Adam Wathan 在他的网站上以及他在活动和播客(包括他自己的播客)中的一些演讲中提供了一些关于测试的重要资源:

亚当的网站:https://adamwathan.me/

来自 Laracon 的谈话:https://streamacon.com/video/laracon-us/adam-wathan-test-driven-laravel

Adam 的播客:http://www.fullstackradio.com/(在页面上搜索单词 test 我相信您会找到很多演讲)

Adam 在本月晚些时候(2016 年 11 月 28 日 - 根据我的记忆写下日期)还有一个即将推出的关于使用测试驱动开发构建应用程序的视频系列 https://adamwathan.me/test-driven-laravel/ - 这将是一个宝贵的资源,因为他将从头开始构建一个应用程序并一路测试

您可能还想在此处查看 Laravel 播客以测试主题​​:http://www.laravelpodcast.com/episodes

Jeffrey Way 还写了一本关于测试的书(尚未发布),这本书是免费的,请参阅 link 此处:https://leanpub.com/testingphp

如果这有点多,请考虑只看 Adam 的视频,因为我认为他提出了一个很好的测试方法 "The outside-in TDD loop" 他在视频开始大约 8 分钟时开始解释 https://streamacon.com/video/laracon-us/adam-wathan-test-driven-laravel

解决您的部分问题:

wether you should use unit or integration testing

对我来说,这不应该是集成测试或单元测试的选择,如果这有助于实现编写测试的目的,为什么不同时使用这两者,我认为这与确保您的应用程序正常工作有关应该的方式。

希望对您有所帮助!