-
파이썬 Jest pytest 이용하기컴퓨터/파이썬 2020. 9. 22. 16:47728x90반응형
Jest는 심플함에 초점을 둔 자바스크립트 테스팅 프레임워크이다.
Jest 파이썬 버전도 unittest, pytest 대신 사용할 수 있는 테스팅 프레임워크이다.
1. 설치 및 설정
yarn add jest-pytest pip install pytest-jest --upgrade pip install snapshottest
설치 후, package.json에 아래처럼 추가한다.
"jest": { "moduleFileExtensions": [ "py" ], "runner": "jest-pytest", "testPathIgnorePatterns": [ "snap_.*\\.py" ], "testMatch": [ "<rootDir>/tests/test_*.py" ] }
개인 setup.cfg에 사용 중인 flake 및 pytest 설정
[tool:pytest] minversion = 6.0 addopts = -s --maxfail=2 -rf testpaths = tests [flake8] ignore = E203, E266, E501, W503 max-line-length=100 max-complexity = 18 select = B,C,E,F,W,T4
※ 파이썬 3+ 버전에서는 pip 설치 폴더\site-packages\pytest_jest 폴더 안
plugin.py을 열어서, def pytest_logwarning 부분을 주석 처리해야 작동한다.
2. 사용법
tests폴더 안 test_*.py 형식으로 파일을 만들어서, pytest나 unittest처럼 만들면 된다.
def test_cplx(): tester = bigO.bigO() assert tester.complexity2str(0) == "f(n)" assert tester.complexity2str(2) == "O(n)" assert tester.complexity2str(5) == "O(n^2)"
그다음, 폴더에서 아래 명령어를 입력하여 Jest를 사용할 수 있다.
yarn jest --watchAll
수정하면 바로바로 테스트가 실행된다.
snapshot 이용하기
예제) github.com/syrusakbary/snapshottest/tree/master/examples/pytest
결과를 미리 저장해서 비교할 수도 있다.
snapshots 폴더를 만들고, snap_파일 이름.py를 아래처럼 만든다.
# -*- coding: utf-8 -*- # snapshottest: v1 - https://goo.gl/zC4yUc from __future__ import unicode_literals from snapshottest import Snapshot snapshots = Snapshot() snapshots["test_snap[chromium] 1"] = "f(1)"
테스트 파일.py
def test_snap(snapshot): snapshot.assert_match("f(n)")
Jest-Pytest Github : github.com/jest-community/jest-pytest
예제 Github 참고 : github.com/Alfex4936/python-bigO-calculator
728x90'컴퓨터 > 파이썬' 카테고리의 다른 글
Python Karatsuba(카라추바) 곱셈 알고리즘 (8) 2020.09.24 Python QuickSort 최적화에 따른 속도 (0) 2020.09.20 파이썬 go-lang sort() 구현 (0) 2020.08.29