1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| import unittest # unittest 모듈 불러옴
from chicken import order_chicken # chicken.py 에서 order_chicken 함수를 가져오겠다
class TestChiken(unittest.TestCase): # 클래스로 정의하고 들어가야함 unittest는!!!
# 정상적인 주문 테스트임
def test_order_chicken(self): # 테스트 하는 함수에는 앞에 test 붙여주고
self.assertEqual(order_chicken("허니콤보",2), 46000) # 주문하는 칰인, 마리 = 금액임
self.assertEqual(order_chicken("레드윙", 1), 19000) # assertEqual 기대값이 실제값과 일지하는지 확인
self.assertNotEqual(order_chicken("옥수수순살", 1), 22000)
self.assertNotEqual(order_chicken("갈릭윙",1), 20000) # asserNotEuqal 기대값이 실제값다 다르면 성공임
# 없는 메뉴 주문 테스트임
def test_order_not_menu(self):
with self.assertRaises(ValueError): # 고추마요를 주문하면 ValueError 발생한다.
order_chicken("고추마요",1)
with self.assertRaisesRegex(ValueError,"그런 치킨 없어요"): # 블랙알리오를 주문하면 오류 메시지가 뜬다.
order_chicken("블랙알리오",1) # assertRaisesRegex '에러종류' '에러메시지'
# 잘못된 타입 입력 테스트임1
def test_order_not_count(self):
with self.assertRaisesRegex(ValueError,"최소주문 지켜주세요"): # 주문 수량이 0일 경우
order_chicken("허니콤보", 0) # 에러 메세지 뜬다
with self.assertRaisesRegex(ValueError,"최소주문 지켜주세요"):
order_chicken("레드윙", -2)
# 잘못된 타입 입력 테스트임2
def test_order_chicken_typeerror(self):
with self.assertRaisesRegex(TypeError,"치킨이름을 입력해 주이소"): # 치킨이름 란에 숫자 들어가면 메세지뜸
order_chicken(1234,1)
with self.assertRaisesRegex(TypeError,"마리 수를 제대로 입력해 주이소"): # 마리수에 문자 들어가면 메세지 뜸
order_chicken("허니콤보","2")
if __name__ == '__main__': # unittest 실행을 위함
unittest.main()
|