🐙
pytestで特定のメッセージを含むWarningを無視する
結論
-
@pytest.mark.filterwarnings("ignore:{Warning文}")
を関数の頭に付ける- {Warning文}の部分には正規表現が使える
例
import pytest
def test_hoge():
### 処理 ###
assert result = "test"
というテストで
/usr/local/lib/python3.6/site-packages/pymysql/cursors.py:329: Warning: (1292, "Truncated incorrect INTEGER value: '100.0'")
というWaringが出る場合、
import pytest
@pytest.mark.filterwarnings("ignore:.*Truncated incorrect INTEGER value.*")
def test_hoge():
### 処理 ###
assert result = "test"
とすれば良い。
※ .*
は正規表現
※ Warningは基本的に無視せず解消したほうがいいです。なにか理由があるときだけ無視してください。
Discussion