이것은 장고 (Django) HTML 테스트뿐만 아니라 HTML 동작을 테스트해야하는 다른 어플리케이션에도 관련됩니다.
requests과 같은 라이브러리를 사용하여 다른 방법 (GET/POST/etc)을 사용하여 브라우저 관점에서 양식을 테스트 할 수 있습니다.
더 많은 사용자 상호 작용 테스트를 위해 Selenium을 사용할 수 있지만, 제가 개인적으로는 Splinter을 더 좋아합니다. splinter에서는 실제 브라우저로 사용할 수있는 browser
이라는 인스턴스를 인스턴스화합니다. 그런 다음 브라우저에서 텍스트 상자, 단추 누르기 등을 채운 다음 동작을 테스트 할 수 있습니다. 이 브라우저가 열립니다에서
from splinter.browser import Browser
browser = Browser()
# Visit URL
url = "http://www.google.com"
browser.visit(url)
browser.fill('q', "#cobrateam")
# Find and click the 'search' button
button = browser.find_by_css(".lsb")
# Interact with elements
button.click()
if browser.is_text_present("did not match any documents"):
print "nobody likes us =("
else:
print "we're popular =)"
, 질문 필드를 입력, 구글로 이동 한 후 검색 버튼 및 테스트 검색 결과를 클릭합니다 : 여기
는 가시 웹 사이트에서 코드입니다. 보시다시피 라이브러리는 사용이 매우 간편하며이를 사용하여 매우 정교한 테스트를 수행 할 수 있습니다.
복잡한 동작을 테스트하는 것은 단위 테스트가 아니며 통합 테스트입니다. django-sane-testing 프로젝트를 참조하십시오. 거의 모든 가능한 테스트 케이스를 캡슐화합니다. – yedpodtrzitko
글쎄, "페이지의 양식이 my_good_post와 동일한 정보로 채워지면 my_good_post와 같은 객체를 만듭니다"라는 개별 테스트는 하나의 단위입니다. 내 사고 방식으로. 내 단위 테스트 스위트에서이 정확한 동작을 테스트 할 수 있기를 원합니다. – jMyles