Я пытаюсь упростить мой код поведения, чтобы сделать его более читабельным. Как часть моей настройки данных, я определяю свои данные как таблицы в моих шагах, чтобы сделать их более удобочитаемыми. Эти данные затем конвертируются в сложные файлы для тестирования системы, однако большая часть этих данных не меняется от шага к шагу. Я также использую эти таблицы в своих утверждениях, чтобы подтвердить результаты теста.
То, что я хотел бы сделать, - это выполнить фоновый шаг, который сохранит таблицу в контекст, содержащий эти основные c данные, а затем на моих этапах тестирования добавит данные в этот объект таблицы.
Например
background
Given a table of data
|header_a|header_b|
|Data_1 |Data_a |
|Data_2 |Data_b |
|Data_3 |Data_c |
Scenario:
Given additional data
|header_a|header_b|
|Data_4 |Data_d |
When data is uploaded
@given("a table of data")
def step_impl(context):
context.starting_data = context.table
@given("additional data")
def step_impl(context):
context.additional_data = context.table
@when("data is uploaded")
def step_impl(context):
test_data = context.starting_data + context.additional_data
upload_test_data(test_data)