User Tools

Site Tools


tanszek:oktatas:informacios_rendszerek_integralasa:tdd_pelda

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tanszek:oktatas:informacios_rendszerek_integralasa:tdd_pelda [2024/02/25 22:03] kneheztanszek:oktatas:informacios_rendszerek_integralasa:tdd_pelda [2024/02/25 22:32] (current) – [Teszt írása] knehez
Line 1: Line 1:
-==== Teszt vezérelt fejlesztés ====+===== Teszt vezérelt fejlesztés =====
  
 Hozzunk létre egy könyvtárat és lépjünk bele: Hozzunk létre egy könyvtárat és lépjünk bele:
Line 18: Line 18:
 ===== Teszt írása ====== ===== Teszt írása ======
  
-hozzunk létre egy //test_basic.py// fájlt a teszt könyvtárban és +hozzunk létre egy //test_basic.py// fájlt a teszt könyvtárban a következő tartalommal: 
 + 
 +<sxh python> 
 +def test_always_passes(): 
 +    assert True 
 + 
 +def test_always_fails(): 
 +    assert False 
 +</sxh> 
 + 
 +Majd futtassuk a tesztet: 
 +    python -m pytest tests 
 + 
 +Hozzunk létre egy másik teszt fájlt, test_fixture.py: 
 + 
 +<sxh python> 
 +import pytest 
 + 
 +@pytest.fixture 
 +def example_fixture(): 
 +    return 1 
 + 
 +def test_with_fixture(example_fixture): 
 +    assert example_fixture == 1 
 +</sxh> 
 + 
 +A teszt futtatása után az alábbi eredményt kapjuk: 
 + 
 +{{:tanszek:oktatas:informacios_rendszerek_integralasa:pasted:20240225-220731.png}} 
 + 
 +Javítsuk ki a tesztet és gihub repositoryba töltsük fel. 
 + 
 +Hozzunk létre egy app alkönyvtárat a gyökérben és üres //__init__.py// fájlt és egy //data_formatter.py// fájlt, a //tests/test_data_formatter.py//
 + 
 +{{:tanszek:oktatas:informacios_rendszerek_integralasa:pasted:20240225-222912.png}} 
 + 
 +A test_data_formatter.py tartalma legyen: 
 + 
 +<sxh python> 
 +from app.data_formatter import format_data_for_display 
 +def test_format_data_for_display(): 
 +    people = [ 
 +        { 
 +            "given_name": "Karoly", 
 +            "family_name": "Nehez", 
 +            "title": "Senior Software Engineer", 
 +        }, 
 +        { 
 +            "given_name": "John", 
 +            "family_name": "Smith", 
 +            "title": "Project Manager", 
 +        }, 
 +    ] 
 + 
 +    assert format_data_for_display(people) == [ 
 +        "Karoly Nehez: Senior Software Engineer", 
 +        "John Smith: Project Manager", 
 +    ] 
 +</sxh> 
 + 
 +A data_formatter.py-ben megírjuk az implementációt: 
 +<sxh python> 
 +def format_data_for_display(people): 
 +    return [f"{person['given_name']} {person['family_name']}: {person['title']}" for person in people] 
 +</sxh> 
 + 
 +Futtassuk a tesztet: 
 +    python -m pytest tests
tanszek/oktatas/informacios_rendszerek_integralasa/tdd_pelda.1708898586.txt.gz · Last modified: 2024/02/25 22:03 by knehez