pytest

pytest で datetime.now() をモックする方法(freezegun, monkeypatch)

pytest で datetime.now() をモック化したい pytest を使って datetime.now() で現在日時を取得しているコードをモック化してテストする方法をまとめます。 datetime.now() は実行時の現在日時を返すのでモック化しないとテストが難しい場合があります。ということでモック化したいですが datetime.now() は組み込み関数(属性)のため単純にモッ […]

[Python] pytest-asyncio で非同期処理をテスト、非同期フィクスチャを実装

pytest で非同期処理をテストしたい pytest で asyncio を使った非同期処理をテストしたい場合、単純に async キーワードを付与してテストメソッドを作ってもうまくいきません。 仮に async def test_asyncio(): みたいなテストを作ってテストを実行すると以下のように async def のテストメソッドはネイティブでサポートされていないためスキップされまし […]

pytest でテストをスキップ、コマンドオプション引数でスキップする

pytest-skip でテストをスキップする Skipping | https://docs.pytest.org/en/reorganize-docs/new-docs/user/skipping.html テストコードが特定の環境でしか動かない場合(例えばWindows環境では動かない場合)や、Pythonのバージョンに依存したテストコードがある場合、実行に時間がかかるので普段のテストでは実 […]

[Python] pytest でモックを使う方法(pytest-mock)

pytest でモックを利用する pytest を利用してテストをコーディングする場合にモックを利用したい場合、pytest-mock というライブラリを使うと便利です。pytest-mock は mock パッケージの薄いラッパーを提供します。 この記事では pytest-mock を使ったいろいろなモックの使い方を紹介します。 pytest の基本的な使い方は以下の記事にまとめてます。 [Py […]