Php 创建专门用于集成测试的URL

Php 创建专门用于集成测试的URL,php,laravel,testing,lumen,web-api-testing,Php,Laravel,Testing,Lumen,Web Api Testing,尝试测试包含在非常复杂的功能中的简单功能 简单功能需要多个步骤才能启动。这些步骤对数据库有很多影响,但它们与功能本身没有任何交互 因为我们只想通过我们的API测试这个简单的特性,其中一个想法是创建一个专门用于测试这个特性的路由。然后,我们会让cron偶尔访问该路由,测试该功能是否仍然有效 我发现有一条或多条路线仅用于测试,这有点令人不安。但我可以看到有很多好处 这是一个很好的做法,还是有更好的方法呢?回答这样抽象的问题很难,因为你可以描述任何东西。但简而言之,如果访问特性本身是复杂的,那么测试也

尝试测试包含在非常复杂的功能中的简单功能

简单功能需要多个步骤才能启动。这些步骤对数据库有很多影响,但它们与功能本身没有任何交互

因为我们只想通过我们的API测试这个简单的特性,其中一个想法是创建一个专门用于测试这个特性的路由。然后,我们会让cron偶尔访问该路由,测试该功能是否仍然有效

我发现有一条或多条路线仅用于测试,这有点令人不安。但我可以看到有很多好处


这是一个很好的做法,还是有更好的方法呢?

回答这样抽象的问题很难,因为你可以描述任何东西。但简而言之,如果访问特性本身是复杂的,那么测试也是复杂的

集成测试是软件测试的一个阶段,其中 单个软件模块作为一组进行组合和测试

我认为你说你的特征不相互依赖是有点错误的。如果有许多步骤是强制性的,则表明这两个步骤之间存在连接。您应该按照上面引用的建议将它们一起测试,或者将您的功能解耦,这样它们就可以真正独立

例如,可以使用需要身份验证和授权的post news功能。在Laravel本身中有一些内置功能可以简化此类测试。如果这个示例与您的问题非常相似,那么编写这样的帮助程序比为其创建cron作业要好得多。使用cron作业,您需要在您拥有的每个环境中复制相同的内容,以及在所有开发人员环境中复制相同的内容