Я собираюсь протестировать my_function () , который возвращает pandas DataFrame со столбцом «utc_timestamp». Этот столбец содержит текущую временную метку.
def my_function():
df = pd.DataFrame(data=[[1, pd.datetime.utcnow()]], columns=['value', 'utc_timestamp'])
Как я могу определить модульный тест для проверки ожидаемого результата my_function () . Очевидно, что следующий подход не будет работать, потому что текущая отметка времени в тестовой функции не равна отметке времени, когда был создан фрейм данных.
class TestCase(unittest.TestCase):
df_out = my_function()
df_expected = pd.DataFrame(data=[[1, pd.datetime.utcnow()]], columns=['value', 'utc_timestamp'])
pd.testing.assert_frame_equal(df_out, df_expected)
>> AssertionError: DataFrame.iloc[:, 0] (column name="utc_timestamp") are different
Какой из них самый профессиональный, самый pythoni c и самый pandas -путь?