Параметризация pytest для списка и pandas данных - PullRequest
1 голос
/ 09 января 2020

Я создаю тесты в 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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...