У меня есть следующий код, который выполняет модульные тесты кода, который я разработал для соответствия выражений reg во всех файлах в основном каталоге и в каждом подкаталоге.Тестирование модуля с переменными входами
Я строю единицы испытаний, чтобы убедиться, что он хорошо работает, но я очень новичок в модульном тестировании.
У меня есть следующий код:
class TestRegexMatches(unittest.TestCase):
def __init__(self,root_dir):
self.path = root_dir
def testEmptyRegex(self):
# Can't match negative look-ahead
key = re.compile('(?!)')
self.assertEqual(sum(tm.search_for_regex_match(self.path,key).values()),0)
def testIntersection(self):
key1 = re.compile('[abc]')
key2 = re.compile('[^abc]')
self.assertNotEqual(tm.search_for_regex_match(self.path,key1),
tm.search_for_regex_match(self.path,key2))
if __name__ == '__main__':
test_obj = TestRegexMatches('/home/luis/test')
unittest.main()
Этот код в настоящее время не работает. Как правило, у одного не было бы init конструктор для модульных тестов, но я хочу, чтобы дать возможность тестировать разные каталоги для поиска в разных тестах вместо жесткого кодирования пути в функции tm.search_for_regex_match
.
Вы все еще жестко кодируете значение, просто в другом месте. Вероятно, вы должны просто установить 'self.path' в методе' setUp'. – chepner