TL; DR; PynamoDBを使ったテストでローカルで動かすDynamoDBを叩きたい場合に テーブルのキー定義やキャパシティ設定の管理はterraform/CDKなどに任せつつ、アプリケーションコードを汚さずにテストを実行したい そんなときは getattr でmetaclassを取り出して setattr でテスト用の設定値を注入してあげましょう サンプルコードはこちら github.com もうちょっと詳しく 背景 PythonでDynamoDBを使った開発していればPynamoDBはとても便利なライブラリです。非常に書きやすいAPIでDynamoDBを読み書きできますし、手軽にテーブル自体もPynamoDBで作成することも可能です。 *1 しかしPynamoDBでテーブルを作成・管理してしまうと if table.exists() みたいな条件を書いて毎回判断させたり、キャパシ
![PynamoDBで良い感じにTestableなモデルを定義して、DynamoDB Localを使ってテストする方法 - JX通信社エンジニアブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/36912549b1633f2b4d7e511a1fbf72c6aea8e78a/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FT%2FTatchNicolas%2F20201211%2F20201211101137.png)