В настоящее время пытаюсь написать юнит-тест для определенной функции. Ошибка показана ниже:
E
======================================================================
ERROR: https://www (unittest.loader._FailedTest)
----------------------------------------------------------------------
AttributeError: module '__main__' has no attribute 'https://www'
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
Хотя сама функция не была вызвана в функции Test, я пытаюсь инициализировать класс Hasher
внутри теста. Закомментирование строки инициализации приводит к запуску программы.
class Test(unittest.TestCase):
def test_YT(self):
self.H = Hasher()
self.assertTrue(True)
Код для класса показан ниже:
class Hasher:
import hashlib
def __init__(self, hash_algo='md5'):
print('we getting here')
# TODO: support for more hash algos
self.hash_algo = hash_algo
def hash_file(self, filename):
return hashlib.md5(open(filename, 'rb').read()).hexdigest()
def compare_file_txt(self, filename, hash_txt_file):
# Useful for when there is an MD5 txt in the folder
hash1 = self.hash_file(filename)
if hash1 == open(hash_txt_file).readline():
return True
return False
def YT_create_hash(self, link, output_loc='test_hash.txt'):
DL = Downloader()
file_name = DL.YT_extract(link)
hash_txt = self.hash_file(os.getcwd() + '/' + file_name)
o_file = open(output_loc, 'w')
o_file.write(hash_txt)
o_file.close()
В инициализации класса нет ничего, что указывало бы на использование 'https://www'
, поэтому не совсем уверен, где эта ошибка идет от.
Мой импорт имеет вид:
from Hasher import *
from Downloader import *
И моя файловая структура сейчас выглядит так: