Я создаю тесты в pytest
для пользовательского подкласса pandas DataFrame
. Я хотел бы проверить, что мой конструктор класса работает как для списка, так и для pandas DataFrame
. Как я могу параметризовать свой тест, чтобы test_constructor
мог принимать и samp_list
, и samp_df
, вместо дублирования функций теста test_constructor_with_df
и test_constructor_with_list
?
@pytest.fixture(scope='module')
def sample():
samp_list = [{'timestamp': '2020-01-01', 'group': 'a', 'dollar_gains': 100},
{'timestamp': '2020-01-01', 'group': 'b', 'dollar_gains': 100},
{'timestamp': '2020-01-01', 'group': 'c', 'dollar_gains': 110},
{'timestamp': '2020-01-01', 'group': 'a', 'dollar_gains': 110},
{'timestamp': '2020-01-01', 'group': 'b', 'dollar_gains': 90},
{'timestamp': '2020-01-01', 'group': 'd', 'dollar_gains': 100}]
samp_df = pd.DataFrame(samp_list)
return samp_list, samp_df
def test_constructor(sample):
print('hi')
hist_dg = HistDollarGains(sample, 'group', 'timestamp')
assert hist_dg.group == 'group'
assert hist_dg.timestamp_col == 'timestamp'