皆さん単体テストを書いていますか?
Webサービスを保守・運用していると、追加開発する際に機能の冪等性(べきとうせい。何度同じ操作をしたとしても同じ結果を得られるという性質)が求められることもあると思います。特にインフラにAWSを利用している場合、AWSリソースへのアクセス部分のテストをどのようにするか悩みますよね。
LocalStackを利用すると、ローカル環境でAWSクラウドサービスをエミュレートして、アプリケーションのテストを実行することができます。更に、GitHub Actionsで単体テストをまわすことが出来ると素敵ですよね。
今回は、Laravel(PHP)にフォーカスを当てて、LocalStackでAWSリソース(S3、DynamoDB、RDS、etc)の効率的なローカルテストを実現するとともに、GitHub Actionsで単体テストを自動化するところまで説明したいと思います。
主な対象:
・AWSを利用してWebサービス開発をしている方
・Laravel(PHP)を用いてWebサービス開発をしている方
・疎結合、密結合の単体テストの作り方で悩んでいる方
話すこと:
・LocalStackの紹介
・コンテナサービスの比較
・LocalStackを利用したAWSリソース単体テスト for Laravel(PHP)
・GitHub Actionsによる単体テストの自動化