<aside>
</aside>
unittest
ํ๋ ์์ํฌ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ ์ดํดunittest.TestCase
์์ ํ
์คํธ ์์ฑ ๋ฐฉ๋ฒ ์๊ธฐunittest
์ self.assert*
๋ฉ์๋์ Pytest assert
๋ฌธ ์คํ์ผ ๋น๊ตunittest
์ฅ๋จ์ ๋ฐ Pytest์ ์ฃผ์ ์ฐจ์ด์ ์ค๋ช
nose
, behave
๋ฑ ๋ค๋ฅธ ๋ชฉ์ ์ ํ
์คํธ ๋๊ตฌ/ํ๋ ์์ํฌ ์ธ์งunittest
๊ธฐ๋ฐ ํ
์คํธ ์๋ ๋ฐ๊ฒฌ ๋ฐ ์คํ ํธํ์ฑ ์ดํดํ๋ก์ ํธ ๊ตฌ์กฐ:
graph TD
A(my-pytest-project) --> B(.venv);
A --> C(mycalc);
A --> D(tests);
A --> E(pytest.ini);
C --> C1(__init__.py);
C --> C2(calculator.py);
C --> C3(exchange.py);
D --> D1(__init__.py);
D --> D2(test_calculator.py);
D --> D3(conftest.py);
D --> D4(test_scopes.py);
D --> D5(test_markers.py);
D --> D6(test_exchange.py);
D --> D7(test_properties.py);
D --> D8(test_calculator_unittest.py unittest ์์ ํ์ผ);
style B fill:#eee,stroke:#333,stroke-dasharray: 5 5;
style C fill:#ccf,stroke:#333;
style D fill:#cfc,stroke:#333;
style E fill:#fef,stroke:#333;
style C2 fill:#cce,stroke:#333;
style C3 fill:#fda,stroke:#333;
style D2 fill:#cef,stroke:#333;
style D3 fill:#fec,stroke:#333;
style D4 fill:#dff,stroke:#333;
style D5 fill:#ffd,stroke:#333;
style D6 fill:#adf,stroke:#333;
style D7 fill:#dff,stroke:#333;
style D8 fill:#fbb,stroke:#333;
tests/test_calculator_unittest.py
(์๋ก์ด unittest
์คํ์ผ ํ
์คํธ ํ์ผ):unittest
ํ
์คํธ๋ ์๋ ๋ฐ๊ฒฌ/์คํ)assert
, ๊ฐ๋ ฅํ ํฝ์ค์ฒ, ๋ง์ปค, ํ๋ผ๋ฏธํฐํ, ํ๋ถํ ํ๋ฌ๊ทธ์ธ, Hypothesis ์ฐ๋ ๋ฑ.