概览
laravel-bluesky 的主要功能都是通过 Bluesky Facade 提供的,因此可以使用标准的 Laravel mock 进行测试。关于扩展包开发的整体测试思路,请参考 package-testing。
Facade mock
使用Bluesky::expects() 可以对整条方法链进行 mock。
HTTP fake
laravel-bluesky 内部使用 Laravel 的 HTTP 客户端。将 Http::preventStrayRequests() 写入 setUp(),就能立刻发现意外的外部请求。
无法 mock 的功能
FeedGenerator
FeedGenerator 是由 Bluesky 服务端发起调用的,因此没有端到端的 mock 方式。不过,FeedGenerator 的算法部分是可以 mock 的。Core
Bluesky/AtProtocol 的核心功能不涉及外部访问,因此不需要 mock。Source: docs/testing.md