雑念ストレージ

プログラミング関連のメモとか

2024-01-01から1年間の記事一覧

【Python】mock_openで複数のファイルの読み書きをMock化する

前にmock_openを使って1つのファイルの読み書きをMock化する方法を書いた。 複数のファイルの読み書きをMock化する場合は少しコツがあったので、メモしておく。 複数ファイルの読み込みをMock化する場合 import unittest from unittest.mock import MagicMoc…

【Python】MagicMockの使い方メモ2 - ユニットテストでの使い方とpatch

ユニットテストでは、開発環境から呼び出せない処理はモックに差し替えてテストしたい。 たとえば、外部のAPIの呼び出しやファイルの読み書きなどをモックにすることが多い。 モックにするやり方が色々あるので、簡単にまとめる。 インスタンスのメソッドをM…

【Python】MagicMockの使い方メモ1 - MagicMockとは

普段なんとなく使っていたMagicMockについて調べ直したのでまとめる。 MagicMockとは いきなりうまく説明できないけど、定義していないメソッドでも呼べてしまう、ぐにゃぐにゃの粘土みたいなイメージ、、 m = MagicMock() func1_result = m.func1() print(f…

【Python】mock_openでファイルの読み書きをMock化する

ファイルの読み書きをするプログラムをテストするとき、実際にファイルを用意するのは面倒。 ファイルの読み書きはMock化したいが、そんなときはPythonが公式で用意してくれているmock_open関数が便利。 たとえば、以下のようなプログラムをテストしたいとす…

【PyCharm】選択中の変数のハイライト色を変える

PyCharmを使うときに設定しておきたい点。 選択中の変数をハイライトする色を変える。 設定変更前 dataを選択しているのだけど、色が地味過ぎて分かりづらい、、 設定変更後 これなら見やすい。 Editor > Color Scheme > General にある、Code > Identifier …

【Django】Factory Boyで、カテゴリを外部テーブルに持つようなレコードを簡単に作成する

以下のような、「本」と「本の種別(マスターデータ)」を表すModelがあるとする。 class BookCategory(models.Model): name = models.TextField() class Book(models.Model): name = models.TextField() book_category = models.ForeignKey(BookCategory, on_…

【Git】間違えてMergeしたプルリクをRevertしたあと、もう一度Mergeしたいとき

mainブランチにプルリクをMergeしたあと、一旦Revertで差し戻してから、しばらくして再度Mergeしたいときがある。 ただ、何も考えずに再度Mergeしようとしてもうまくいかない。 上の図であれば、再度マージしてもコミット3とコミット4はmainブランチに反映さ…

【Mermaid】Web上でMermaidを動かせる、Mermaid Live Editor

MermaidをWeb上で使えるMermaid Live Editorというサイトがある。 機密性を気にしなくていいような図なら、ここでササッと作ってもいいかもしれない。 個人的に、普段はPlantUMLをDockerで立てて使っている。 ただ、Gitのリビジョングラフの絵は、Mermaidの…