タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

pythonとPythonとtestingに関するHHRのブックマーク (5)

  • [python] まだmockで消耗してるの?mockを理解するための3つのポイント

    隣の席の人がテスト強化週間とか抜かしていたので自分もちゃんと理解するために なるべくわかりやすく まとめてみようと思います。 この記事は 2015 tech-yuruyuru アドベントカレンダー - 15日目の記事です。 http://connpass.com/event/22759/ モックって何よ? mockは特定のオブジェクトの代理をしてユニットテストを円滑に進めるためのモジュールです。 python3.3からはビルトインに入りましたが、それ未満のバージョンではインストールが必要です。 以下のようにインストールしてください。 インストールしたmockを使う場合は単に import mock とすればよいのですが ビルトインmockを使う場合は、 from unittest import mock のようにして使うのが一般的です。 以降、この記事では無用な混乱を避けるため、mockの

    [python] まだmockで消耗してるの?mockを理解するための3つのポイント
    HHR
    HHR 2023/08/15
    MagicMockの構造 mock.patch('__main__.hoge')な使い方 時刻のpatch
  • Python(pytest)でテスト書くならfixture,conftest,parametrizeを理解すると世界が一気に変わる

    Python(pytest)でテスト書くならfixture,conftest,parametrizeを理解すると世界が一気に変わる 概要 Pythonのテストライブラリといえばpytestが一般的です。 Python標準のuniitestとは異なり、クラスベースではなく関数ベースでテストコードを記述することが一般的ですが、fixture,conftest,parametrizeを理解すると一気に世界が変わり、テスト体験が圧倒的に向上するため、これらの実装方法を紹介します。 リポジトリ 記事の説明に使用しているサンプルのテスト実装は、以下のリポジトリです。 想定読者 PythonやGitの基的な使い方を理解している方を想定しているため、基的な用語説明は省略しています。 環境 エンジニアの利用率の高いmacOSを前提として説明していますので、その他の環境の方は随時読み替えてください。 開

    Python(pytest)でテスト書くならfixture,conftest,parametrizeを理解すると世界が一気に変わる
  • pytest, mock, patchについて整理したい

    pytest、unittest.mock.patchらへんでハマっていたのでメモ。 整理したかったこと 同じ機能で、書き方が何種類もあること 引数の使い分け 注: このページでは同じものを別の名前で指しているかもしれないです(例:package, module, library という単語は同じものを指すことがある) テストモジュールについて unittest ... Pythonビルトインのテストpackage pytest ... 3rd partyのテストpackage。unittestよりよく使われていて主流らしい unittestをそのまま使える importしなくても使える(pytest.xxxを使わないとき) mock について オブジェクト(何でも)を自由に置き換えるもの unittest.mock ... unittestのモジュール pytest-mock ... py

    pytest, mock, patchについて整理したい
    HHR
    HHR 2023/08/08
    pytestはunittestをそのまま使えるのでunittest.mockがよく使われている
  • How to mock nested / multiple layers of return objects in python

    I'm currently struggling to find a good way of mocking multiple layers / nested return values. In other words, I want to return a magic mock that in turn returns a magic mock with it's own set return values. I'm finding this relatively cumbersome and am looking for a more elegant and maintainable solution. I'm trying to test the following code efficiently. the URL returns a json string that needs

    How to mock nested / multiple layers of return objects in python
    HHR
    HHR 2023/08/08
    mockオブジェクトはmock先が何であれ構造化されない。callする順番にmock_urlopen.return_value.read.return_value.decode.return_valueのようにreturn指定する
  • What is the difference between mock.patch.object() and mock.patch()

    I am trying to understand the difference between these two approaches of mocking a method. Could someone please help distinguish them? For this example, I use the passlib library. from passlib.context import CryptContext from unittest import mock with mock.patch.object(CryptContext, 'verify', return_value=True) as foo1: mycc = CryptContext(schemes='bcrypt_sha256') mypass = mycc.encrypt('test') ass

    What is the difference between mock.patch.object() and mock.patch()
    HHR
    HHR 2023/08/08
    mockのpatch.object()とmock.patch()の違い。あまり考えなくても良さそう
  • 1