php - Laravel web api 的测试策略

标签 php laravel testing phpunit

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

最佳答案

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

如果您正在寻找起点,请考虑查看 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

亚当的播客:http://www.fullstackradio.com/ (在页面上搜索单词测试我相信你会找到很多谈话)

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

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

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

如果这有点多,请考虑观看 Adam 的视频,因为我认为他提出了一种很好的方法来测试“从外到内的 TDD 循环”,他在视频的大约 8 分钟处开始解释 https://streamacon.com/video/laracon-us/adam-wathan-test-driven-laravel

解决您的部分问题:

wether you should use unit or integration testing

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

希望这对您有所帮助!

关于php - Laravel web api 的测试策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40439152/

相关文章:

php - 按日期顺序连接两个表并显示结果

php - 当 HTML 在 1 行时,如何对 HTML 使用 preg_match_all 正则表达式?

php - 是否可以在App :before filter in Laravel?中返回

javascript - 将多个值与一个期望值匹配,总是尝试只匹配第一个值并失败

testing - 运行松露测试时的非确定性异常

grails - 如何在功能上测试依赖的Grails应用程序

php - cakephp 控制台应用程序中的多个数据库

java - 如何解决无法连接到/192.168.15.186(端口80): connect failed: ETIMEDOUT (Connection timed out) in Windows Firewall

php - Laravel 中的路由是否带有正斜杠?

laravel - 在 laravel Blade 文件中检查变量是否为空