概觀
laravel-bluesky 的主要功能透過 Bluesky Facade 提供,因此可用標準的 Laravel mock 進行測試。關於套件開發的整體測試,也請參考 package-testing。
Facade Mock
使用Bluesky::expects() 對方法鏈進行 mock。
HTTP Fake
laravel-bluesky 內部使用 Laravel 的 HTTP client。在 setUp() 中加入 Http::preventStrayRequests(),可立即偵測到預期外的外部請求。
無法 mock 的功能
FeedGenerator
FeedGenerator 是由 Bluesky 伺服器端呼叫,因此無法進行端對端的 mock。不過 FeedGenerator 的演算法部分是可以 mock 的。Core
Bluesky/AtProtocol 的核心功能不涉及外部存取,因此不需要 mock。Source:docs/testing.md