오식랜드
[Django] 테스트 주도 개발 본문
반응형
테스트 코드 위치
: myApp/tests.py
테스트 명령어
Beautifulsoup4 필요
pip install beautifulsoup4
python manage.py test
테스트 코드
- 같은지 / 같지 않은지
- assertEqual(a, b) : a == b
- assertNotEqual(a, b) : a ≠ b
- 참인지 / 거짓인지
- assertTrue(a) : a == True
- assertFalse(a) : a == False
- 맞는지 / 맞지 않은지
- assertIs(a, b) : a is b
- assertIsNot(a, b) : a is not b
- None인지 / None이 아닌지
- assertIsNone(a) : a is None
- assertIsNotNone(a) : a is not None
- 안에 있는지 / 없는지
- assertIn(a, b) : a in b
- assertNotIn(a, b) : a not in b
test code 작성하는 법
from django.test import TestCase, Client
class TestView(TestCase):
def setUp(self):
self.Client = Client()
Beautifulsoup 사용법
from bs4 import BeautifulSoup
from .models import Post
class TestView(TestCase):
def test_page(self):
# 해당 url을 객체로 불러오기
res = self.client.get("/url")
# url 로드에 성공했는지 상태코드로 확인
self.assertEqual(res.status_code, 200)
# url 객체의 html 컨텐츠 객체를 soup에 저장
soup = BeautifulSoup(res.content, "html.parser")
# 태그를 변수에 저장하여 사용
myNav = soup.nav
# 테스트 코드 사용
self.assertIn("menu text", myNav.text)
반응형
'dev-log > python' 카테고리의 다른 글
[Django] Template 문법 (0) | 2023.10.18 |
---|---|
[Django] 이미지 첨부하기 (0) | 2023.10.16 |
[django] FBV / CBV 방식 (0) | 2023.10.11 |
[django] 프로젝트 만들기 요약 (0) | 2023.10.11 |
[Python] Tkinter event 종류 (0) | 2023.02.18 |
Comments