Я пишу юнит-тесты в Python для проекта компании. Мы используем Django в качестве фреймворка и cover.py для отслеживания прогресса. Недавно я начал добавлять -m, чтобы увидеть, какие строки мне не хватает для покрытия. Итак, команда, которую я использую:
"покрытие запуска --source = 'app1, app2' manage.py test && отчет о покрытии -m"
Пример одного методов:
def _read_from_disk(self, excel_kwargs):
"""
Read excel file from disk and apply excel_kwargs.
Args:
excel_kwargs: Parameters for pandas.read_excel.
Returns:
DataFrame or dict of DataFrames.
"""
return pd.read_excel(self.location, **excel_kwargs)
И мой модульный тест для этого метода
@patch("data.excel.BaseExcelReader._read_from_disk")
def test__read_from_disk_compare_data_frames(self, df_mock_svd):
df_mock_svd.return_value = pd.read_excel(data_frame_to_excel_test(self.excel_data, "SvD Data"))
df = self.test_reader._read_from_disk(self.excel_kwargs_svd)
df_mock_svd.assert_called_once_with(self.excel_kwargs_svd)
pd.testing.assert_frame_equal(df, pd.DataFrame({"test_id": [1, 2, 3, 4, 5]}))
Проблема заключается в том, что при запуске команды отчет о покрытии не учитывает метод как покрытый. Это мой первый вопрос, поэтому, если я не укажу вопрос правильно, извините.