タグ

ブックマーク / qiita.com/kumapo (2)

  • Dynamo DB ベースのアプリケーションをmotoとfactory_boyを用いてユニットテストする - Qiita

    boto3 は AWS SDK の Python パッケージで、Dynamo DB などの AWS のサービスを呼び出すのに使います。 この boto3 には moto という mock パッケージがあります。 moto を使うと、テストを実行するとき Dynamo DB のスタブにテスト用のデータ(fixtures)を 返させることができるので、テーブルが存在していなくてもテストケースを通すことができます。 稿では、moto を使って Dynamo DB に依存せずにアプリケーションをテストする方法を紹介します。 さらに、factory_boy を使って fixtures の組み立てを共通化する方法も紹介します。 factory_boy は fixtures の組み立てを担う Factory クラスを備えたパッケージです。 なお、稿ではアプリケーションとして Flaskベースの AP

    Dynamo DB ベースのアプリケーションをmotoとfactory_boyを用いてユニットテストする - Qiita
    sh19910711
    sh19910711 2024/06/16
    "DynamoDB に依存せずにアプリケーションをテストする / moto を使うと、テストを実行するとき Dynamo DB のスタブにテスト用のデータ(fixtures)を 返させることができる" 2018
  • moto によって requests が意図せずモック化されてしまう問題を回避する - Qiita

    moto は、AWS SDK の mocking パッケージです。 moto を用いたユニットテストについては以前 エントリを書きました。 このなかで触れましたが、requests パッケージが意図せずモック化されてしまう問題があります。 この問題の回避策について自分なりのアプローチをまとめておきます 問題としては、moto でスタブをアクティブにすると その後の requests パッケージによるリクエストがすべてモック化されてしまうというものです: これにより、elasticsearch-py など requests に依存したパッケージにおいてHTTPリクエストのさいにエラーが起きることがあります。 回避策 回避策としては、moto の responses_mock にパススルーする URL を登録します:

    moto によって requests が意図せずモック化されてしまう問題を回避する - Qiita
    sh19910711
    sh19910711 2024/06/16
    "moto でスタブをアクティブにすると その後の requests パッケージによるリクエストがすべてモック化されてしまう / moto の responses_mock にパススルーする URL を登録 + スタブ化させたくない URL を事前に登録" 2018
  • 1