Python - pytest - Primary Power - Writing Test Functions -
Python Testing with pytest, Second Edition - Simple, Rapid, Effective, and Scalable、 Brian Okken (著)、 Pragmatic Bookshelf のPart Ⅰ(Primary Power)、Chapter 2(Writing Test Functions)、Exercise 1.(98/598)の解答を求めてみる。
入出力結果(Terminal, Zsh)
(venv) ... code % pytest exercises/ch2/test_card_mod.py
============================= test session starts ==============================
platform darwin -- Python 3.13.3, pytest-8.3.5, pluggy-1.6.0
rootdir: /.../code
configfile: pytest.ini
collected 7 items
exercises/ch2/test_card_mod.py ....... [100%]
============================== 7 passed in 0.01s ===============================
(venv) ... code % pytest exercises/ch2/test_card_mod.py
============================= test session starts ==============================
platform darwin -- Python 3.13.3, pytest-8.3.5, pluggy-1.6.0
rootdir: /.../code
configfile: pytest.ini
collected 7 items
exercises/ch2/test_card_mod.py .F..... [100%]
=================================== FAILURES ===================================
________________________________ test_defaults _________________________________
def test_defaults():
c = Card()
> assert c.summary is None
E AssertionError: assert '' is None
E + where '' = Card(summary='', owner=None, state='todo', id=None).summary
exercises/ch2/test_card_mod.py:31: AssertionError
=========================== short test summary info ============================
FAILED exercises/ch2/test_card_mod.py::test_defaults - AssertionError: assert '' is None
========================= 1 failed, 6 passed in 0.04s ==========================
(venv) ... code % pytest -v exercises/ch2/test_card_mod.py
============================= test session starts ==============================
platform darwin -- Python 3.13.3, pytest-8.3.5, pluggy-1.6.0 -- /.../code/venv/bin/python3.13
cachedir: .pytest_cache
rootdir: /.../code
configfile: pytest.ini
collected 7 items
exercises/ch2/test_card_mod.py::test_field_access PASSED [ 14%]
exercises/ch2/test_card_mod.py::test_defaults FAILED [ 28%]
exercises/ch2/test_card_mod.py::test_equality PASSED [ 42%]
exercises/ch2/test_card_mod.py::test_equality_with_diff_ids PASSED [ 57%]
exercises/ch2/test_card_mod.py::test_inequality PASSED [ 71%]
exercises/ch2/test_card_mod.py::test_from_dict PASSED [ 85%]
exercises/ch2/test_card_mod.py::test_to_dict PASSED [100%]
=================================== FAILURES ===================================
________________________________ test_defaults _________________________________
def test_defaults():
c = Card()
> assert c.summary is None
E AssertionError: assert '' is None
E + where '' = Card(summary='', owner=None, state='todo', id=None).summary
exercises/ch2/test_card_mod.py:31: AssertionError
=========================== short test summary info ============================
FAILED exercises/ch2/test_card_mod.py::test_defaults - AssertionError: assert '' is None
========================= 1 failed, 6 passed in 0.03s ==========================
(venv) ... code % pytest --tb=no exercises/ch2/test_card_mod.py
============================= test session starts ==============================
platform darwin -- Python 3.13.3, pytest-8.3.5, pluggy-1.6.0
rootdir: /.../code
configfile: pytest.ini
collected 7 items
exercises/ch2/test_card_mod.py .F..... [100%]
=========================== short test summary info ============================
FAILED exercises/ch2/test_card_mod.py::test_defaults - AssertionError: assert '' is None
========================= 1 failed, 6 passed in 0.01s ==========================
(venv) ... code % pytest exercises/ch2/test_card_mod.py
============================= test session starts ==============================
platform darwin -- Python 3.13.3, pytest-8.3.5, pluggy-1.6.0
rootdir: /.../code
configfile: pytest.ini
collected 7 items
exercises/ch2/test_card_mod.py .F..... [100%]
=================================== FAILURES ===================================
________________________________ test_defaults _________________________________
def test_defaults():
c = Card()
> assert c.summary is None
E AssertionError: assert '' is None
E + where '' = Card(summary='', owner='owner string', state='todo', id=None).summary
exercises/ch2/test_card_mod.py:31: AssertionError
=========================== short test summary info ============================
FAILED exercises/ch2/test_card_mod.py::test_defaults - AssertionError: assert '' is None
========================= 1 failed, 6 passed in 0.04s ==========================
(venv) ... code %