Python 컴 파일 유닛 테스트 코드 인 스 턴 스
디 렉 터 리 구 조 는 다음 과 같 습 니 다.
demo1.py
class MyClass():
def __init__(self,x,y):
self.x = x
self.y = y
def add(self):
return self.x + self.y
def sub(self):
return self.x - self.y
import unittest
from unittset_demo.demo1 import MyClass
class MyclassTest(unittest.TestCase):
def setUp(self) -> None:
'''
:return:
'''
self.clac = MyClass(4,3)
def tearDown(self) -> None:
'''
:return:
'''
pass
def test_add(self):
ret = self.clac.add()
self.assertEqual(ret,9)
def test_sub(self):
ret = self.clac.sub()
self.assertEqual(ret,-1)
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(MyclassTest('test_add'))
suite.addTest(MyclassTest('test_sub'))
runner = unittest.TextTestRunner()
runner.run(suite)
setUp 은 테스트 전의 준비 작업 을 도와 주 는 것 이다.예 를 들 어 실례 화 등 이다.tearDown 은 데이터 베 이 스 를 닫 는 등 마무리 작업 을 도와 줄 수 있 습 니 다.
일반 테스트 방법 은 test처음에 우리 가 테스트 해 야 할 업무 논 리 를 쓰 고 self.assertEqual()을 지정 하여 우리 의 결과 와 운행 의 실제 결 과 를 비교 할 수 있 습 니 다.
suite 는 우리 의 테스트 집합 입 니 다.그 후에 테스트 사례 를 추가 하고 runner 로 예화 하여 실행 합 니 다.
실행 결과:
만약 우리 가 예상 한 결 과 를 잘못 쓴다 면,
def test_add(self):
ret = self.clac.add()
self.assertEqual(ret,2)
def test_sub(self):
ret = self.clac.sub()
self.assertEqual(ret,3)
실행 결과:또한 django 의 test 파일 에서 자신의 용례 를 테스트 할 수 있 습 니 다.
class StudentTest(TestCase):
def setUp(self);
Student.objects.create(name='jack',age=13)
def test_student_create(self):
obj = Student.objects.get(name='jack')
self.assertEqual(obj.age,18)
테스트 는 사용 한 템 플 릿 이 정확 한 지,terminal 에 입력:python manage.py test 를 사용 하면 테스트 할 수 있 습 니 다.
class HomeTest(TestCase):
def test_home_page_renders_home_template(self):
response = self.client.get('/home/') #
self.assertEqual(response.status_code,200)
self.assertTemplateUsed(response,'home.html')
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.