因此,我需要测试Laravel包API端点。我正在使用Testbench。
听起来很简单。运行迁移,播种并使用guzzle发出请求。
但是,此软件包依赖于其他所有具有迁移功能的其他软件包,更不用说Laravel附带的用户模型了。它们都是充当仪表板的较大应用程序的一部分。
第一个问题是运行迁移,因为软件包正在使用loadMigrationsFrom()
方法,并且我认为在测试和Testbench与Laravel迁移加载程序不同地工作时,不会读取或执行它们的ServiceProvider。
在“主要”迁移之前或之后手动调用artisan migrate
无效,因为它们在时间戳之间纠缠在一起。
我的想法:
仅隔离运行单元测试。
当存在所有模型和迁移时,编写集成测试以作为“主应用程序”安装的一部分运行。
这有意义吗?有没有更好的方法来编写和运行这些测试?