Я думал, что Django не должен печатать какой-либо результат в тестах .... У меня есть инструкции для печати, которые помогают мне с вводом данных, и я написал для них TestCase
s, но когда тесты проходят, они печатают весь вывод к терминалу, который раздражает.Почему Django тестирует выход на печать?
Есть ли способ остановить django от их печати во время тестирования? Почему он этого не делает?
Метод Модель:
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 code psoted – deltaskelta