0
Django는 테스트 결과를 출력하지 않아야한다고 생각했습니다. 데이터 입력에 도움이되는 몇 가지 print 서술문이 있습니다. TestCase
을 쓰지 만, 테스트가 실행되면 모든 출력을 인쇄합니다 귀찮은 터미널에.왜 장고는 출력물을 테스트합니까?
테스트 중에 장고가 인쇄를 중단하는 방법이 있습니까? 왜 이렇게하지 않는거야?
모델 방법 :
이def wiktionary_lookup(self, wiktionary_prefix, driver):
driver.get("http://%s.wiktionary.org/wiki/%s" % (wiktionary_prefix, self.name))
definitions = driver.find_elements_by_xpath("//h3/following-sibling::ol/li")
count = 0
defs_list = []
print "\tWIKTIONARY DEFINITIONS:\n"
for i in definitions:
i = i.text.split('\n')
for j in i:
#Takes out an annoying "[quotations]" in the end of the string, soemtimes.
j = re.sub(u'\u2003\[quotations \u25bc\]', '', j)
print "\t%d. %s" % (count, j)
defs_list.append(j)
count += 1
print "\n"
return defs_list
테스트 :
def test_wiktionary_lookup(self):
language = Language.objects.create(name='eng', full_name='English')
word = Word.objects.create(language=language, name='testword')
driver = webdriver.Chrome()
output = word.wiktionary_lookup('en', driver)
self.assertTrue(len(output) == 0)
word = Word.objects.create(language=language, name='table')
output = word.wiktionary_lookup('en', driver)
self.assertTrue(len(output) > 0)
코드를 게시하시기 바랍니다 : 여기에
로깅에 장고 문서에 대한 링크입니다. –그건 정상입니다. 당신은 당신의 코드에서'print' 문을 사용해서는 안됩니다. 유용하다면 로거를 사용할 수 있습니다. –
@ZachZundel 코드 psoted – deltaskelta