蒼時弦也蒼時弦也

從 wire 學到依賴注入沒有講的事

最近在工作中對專案套用 google/wire 來處理依賴注入(DI,Dependency Injection)時,發現有非常多小細節需要注意。大多數語言其實都會碰到這類問題,然而 wire 的設計沒有採用大多數框架會提供的控制反轉(IoC,Inverse of Control)機制來處理,反而讓很多過去沒有考慮的狀況浮現出來。

蒼時弦也蒼時弦也

優雅的 RSpec 測試 - Spy 的應用

在撰寫 RSpec 的過程中,我們大多會使用 expect(預期)搭配 receive (接收)來驗證某個方法有被呼叫,然而這會讓我們需要將「預期」寫在實際的行為之前,在驗證的邏輯上似乎有點奇怪,因此我們可以用 Spy 功能替代,在呼叫實際的方法後再去驗證行為。