LocalStackを利用したAWSリソース単体テスト for Laravel(PHP)+ GitHub Actions by Osamu Arita

PHPカンファレンス福岡2023
レギュラートーク(30分)

LocalStackを利用したAWSリソース単体テスト for Laravel(PHP)+ GitHub Actions

osamu_arita Osamu Arita osamu_arita
3

皆さん単体テストを書いていますか?

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による単体テストの自動化