Я хотел бы создать unittest для функции, используя объект из внешней библиотеки (pydriller). Я использую библиотеки python unittest и mock для тестирования.
Функция:
def change_from_git(commit):
for modification in commit.modifications:
changedFiles.append(modification.new_path)
changedLines.append(modification.diff)
(...)
return result
Функция тестирования:
import unittest
from mock import *
def test_change_from_git(self):
with open("commit.data", "r") as f:
commit = f.read()
f.close()
with open("fileChanges.data") as f:
value = f.read()
f.close()
self.assertEqual(change_from_git(commit), result)
Я застрял на ошибке:
Ошибка
line 20, in change_from_git
for modification in commit.modifications:
AttributeError: 'str' object has no attribute 'modifications'
Тип фиксации:
print(type(commit))
<class 'pydriller.domain.commit.Commit'>
Как мне издеваться над commit.modificationдля unittest, если это объект внешнего класса из библиотеки pydriller?