mock_dynamodb2使えない
Pythonの単体テストにおいて、dynamodbをモックする場合、motoを使用している記事がたくさん見つかります。
これらの記事を見てみると
mock_dynamodb
は古いのでmock_dynamodb2
を使いましょうと書かれていますが、
2023年2月現在、最新バージョンのmoto4.11ではmock_dynamodb2
は使用できず
from moto import mock_dynamodb2
としてもImportError
になります。
現在のmoto
のソース↓を見てみるとmoto/__init_.py
にmock_dynamodb2
はありません。
https://github.com/getmoto/moto/blob/master/moto/__init__.py#L60
では、いつ頃変更されたのかというと、2022年8月16日にマージされたプルリクエストでmock_dynamo2
が削除されていることがわかり、バージョン4.00から反映されているようです。
https://github.com/getmoto/moto/pull/5383/files#diff-d19bb31311354ef2f3edec922b8ad8820cc476ba365d5c40bbf3927bd3bf410cL80
まとめ
ということで、motoを使ってdynamodbを使用する際はバージョンが4.00以降か、参照している記事が2022/08より新しいかの2点に気をつける必要がありそうです。