Unitesting - как протестировать функцию, которая использует класс внешней библиотеки - PullRequest
0 голосов
/ 30 сентября 2019

Я хотел бы создать 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?

...