下り坂を昇ってみるスマートフォン用の表示で見る下り坂を昇ってみるこの広告は、90日以上更新していないブログに表示しています。前回、LocalStackを使ってboto3のテストを実行してみて、リソース操作系スクリプトの動作確認を気軽に行えるようになった。あったりと、現場で使うにはまだ改善点が多いことが分かったので、別の方法も考えてみることに。github.com、、、というboto3のエミュレートを行えるライブラリを発見したので、使ってみた。スクリプトのテストを考えてみる。バケットを作成します。テストするには、下記のようなテストを書く。デコレータを付与すること。関連の操作がすべてモック化される。正常系のテストtest_mainでは、S3バケットが一つも存在しない空間にS3のバケットを作成しにいくので、正常終了する。実行しているので、ClientErrorが発生して異常終了する。異常系のパターンをすべて網羅しているわけではない。エラーが発生するパターンがエミュレートできない。motoを使わずスクリプトを2回実行する(すでに存在するバケットを再度作成する)と、BucketAlreadyExists(他の人が使っている)ではなく、BucketAlreadyOwnedByYou(自分がすでに所有している)エラーが発生するべきである。BucketAlreadyOwendByYouのエラーを発生させることはできなさそう。)そのため、create_bucketを行う前に、同名のバケットが存在しないか事前チェックを行うなど、実装側の方でカバーしたり、テストの書き方を工夫する必要がある。LocalStackとの住み分けこのぐらい単純なスクリプトのテストだと、motoの方が簡単にテストできるので優れていそうだが、大量のリソースを操作するスクリプトや、CloudFormationの動作確認などでは、ダッシュボード機能でリソースの状態を確認できるLocalStackの方が活躍する場面が増えてくる(と思う)どちらもまだ使いこなせていないので、引き続き学習していきます。前回に引き続き、AWS環境周りのテスト。PythonSDK)スクリプトのテストを自動化するLocalStackを使ってPythonSDK(AWS)の動作確認をしてみた月別アーカイブはてなブログをはじめよう!yamatatsu-blogさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。