きっかけ こんにちは、ランサーズでエンジニアをしている岡田です。 当時は開発スピード優先でテストコードなんて二の次。 DIの概念は知りつつも、「DIを意識した開発コードって?」「DIを意識すると何が良いの?」と分からないままでした。 それでも、FastAPI+sqlalchemyの開発では、DBを使う時に大抵エンドポイントの引数にdb: Session = Depends(get_db)が出てきます。 「どうしてエンドポイントの内部ではなく引数で書くのか?」といまいち納得しないまま、FastAPIの書き方に従っておまじないのようにDependsを書いてました。 そして、開発コードも増えて「ずっと手動でテストしてるわけにもいかないし、そろそろテストコードを書いて品質担保しないとな」と重い腰を上げた時、とうとうDIの重要性とDependsの真価を実感することになりました。 そもそもDI(Dep

