Closed3
Pytestを正しく使いこなしたい
Pytest
Python におけるテストフレームワークのデファクトに近い存在。モック機能など他言語のテストフレームワークに入っているものは一通り入っている。
ドキュメントからサンプルをいくつか拝借しつつ概観を眺める。
基本的な assert
下記は Fail するが、こんな書き味になる。
def f():
return 3
def test_function():
assert f() == 4
例外のハンドリング
pytest.raises
で例外を検知したかどうかまでわかる。中身のメッセージがどうなっているかも match
引数で指定可能みたい?
import pytest
def myfunc():
raise ValueError("Exception 123 raised")
def test_match():
with pytest.raises(ValueError, match=r".* 123 .*"):
myfunc()
環境変数を読み込めなくてちょっとつまづいた。
dotenv などは使用したくなく、という条件のもといろいろ調べてみた。
結果は、
これが最もシンプルでよかった。
pytest.ini にドキュメントのとおりに環境変数の設定を書いていくだけだった。
fixture にいれる方法や、os.environ をモックする方法も次点で見つかったが、入れられるプラグインに制限がないなどであれば、これがおすすめそう。
このスクラップは2020/12/08にクローズされました