pytest-qt-bdd
Installation
SKILL.md
pytest-qt / pytest-bdd Gotchas
Qt / PySide6 の GUI テストと pytest-bdd の振る舞い仕様テストで、この stack 特有に踏みやすい点だけをまとめる。 カバレッジ方針・CI-equivalent filter・モック対象の線引きは rules/testing.md が持つので、ここでは繰り返さない。
pytest-qt
固定時間待機ではなく、シグナルか条件を待つ
qtbot.wait(ms) の決め打ちは CI の負荷で簡単に flake する。完了はシグナルで、状態は条件で待つ。
# 正しい: waitSignal でタイムアウト付き待機
with qtbot.waitSignal(widget.completed, timeout=5000):
widget.start_operation()
# 正しい: waitUntil で条件待機
qtbot.waitUntil(lambda: widget.isEnabled(), timeout=5000)