motoとは?
motoは、AWSの各種サービスをモックするためのPythonライブラリです。
DynamoDBやS3などのマネージドサービスをモックにすることで、実際のAWS環境を用意せずともローカル環境でpytestなどができます。
moto v5系でのDecoratorの変更
そして、いつの間にかmotoのバージョンが5.xに上がりました。
https://docs.getmoto.org/en/5.0.0/docs/releases.html
今回のメジャーアップデートでの注意すべき点は以下です。
All decorators have been replaced with mock_aws
今までは、@mock_s3
や@mock_dynamodb
のようにAWSサービス名でDecoratorを記載していましたが、今後は全て@mock_aws
に統一されるとのことです。
これにより今まで作成したpytestをそのままmoto v5系の環境で使おうとすると、import Error
にはまります。
DynamoDB Local
を使っている方には影響ありませんが、motoユーザも中々多そうなのでご注意ください。