반응형
Python pytest 테스팅 기초 (QA) 02강
01 사칙연산.py 파일 작성하기 (arithmetic_ops.py)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
def add(x, y):
return x+y
def sub(x, y):
return x-y
def mult(x, y):
return x*y
def div(x, y):
try:
quotient = x // y
remainder = x % y
return (quotient, remainder)
except ZeroDivisionError:
return 0
|
cs |
사칙연산 파일을 테스트하는 파일을 작성할 것이기 때문에, 테스트 당할 (?) 파일을 작성합니다.
기본적인 사칙연산 파일입니다. 일반 사칙연산과 차이가 있다면 div (나누기) 함수는 y value가 0이 아닐 경우 두 개의 값을 리턴합니다. 몫과 나머지.
02 테스트 케이스 작성 (test_arithmetic_ops.py)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import arithmetic_ops
def test_add():
assert arithmetic_ops.add(1, 1) == 2
assert arithmetic_ops.add(1, 31) == 32
def test_sub():
assert arithmetic_ops.sub(10, 1) == 9
assert arithmetic_ops.sub(1, 31) == -30
def test_mult():
assert arithmetic_ops.mult(1, 1) == 1
assert arithmetic_ops.mult(1, 0) == 0
assert arithmetic_ops.mult(0, 1) == 0
def test_div():
assert arithmetic_ops.div(1, 1) == (1, 0)
assert arithmetic_ops.div(1, 0) == 0
assert arithmetic_ops.div(10, 5) == (2, 0)
|
cs |
test_div() 테스트 함수는 다른 함수와 다르게 y의 값이 0이 아닐 경우 두 개의 리턴값 (return value)를 예측합니다. 1을 1로 나누면 몫과 나머지는 각각 1과 0입니다. 그리고 10을 5로 나누면 몫이 2이고, 나머지가 0입니다.
너무 간단한 테스트 케이스입니다.
03 테스트 케이스 실행하기
명령 프롬프트 (CMD)에서 테스트를 실행할 수 있습니다.
1
|
pytest test_arithmetic_ops.py
|
cs |
실행하면 테스트 결과를 보여줄 것입니다.
결과는 역시 PASS이지만 더 자세히 확인하고 싶습니다.
그럴 때는 아래와 같은 명령어를 입력합니다.
1
|
pytest test_arithmetic_ops.py -v
|
cs |
그러면 위와 같이 테스트 케이스 별 PASS 여부를 보여줍니다. 물론 디테일을 출력하기 때문에 테스트 시간은 조금 더 걸립니다.
반응형
'공부 > 파이썬 Python' 카테고리의 다른 글
Python Django 파이썬 장고 프로젝트 생성 방법 (0) | 2022.02.02 |
---|---|
Python Django 파이썬 장고 설치 방법 (0) | 2022.02.02 |
Python pytest 테스팅 기초 (QA) 01강 (0) | 2022.02.01 |
구글 검색 알고리즘 구현하기 with Python (0) | 2022.01.31 |
Password Generator (자동 비밀번호 생성기) with Python (0) | 2022.01.29 |
댓글