2016-10-19 5 views
0

У меня есть тест на поведение, в котором я хотел бы иметь часть данных внутри таблицы behave, которая будет сгенерирована после выполнения шага. Например.Сгенерировать данные для таблиц поведения во время выполнения

Given I have a step 
When I executed some other step 
Then the message should have the following data 
    | field | value | 
    | a  | 20 | 
    | b  | 30 | 
    | var | <val> | 

После when шаг был выполнен, я хотел бы изменить <val> до некоторого значения в зависимости от этого шага.

+0

Зачем вам это нужно? Как кто-то, читающий это, интерпретирует такой сценарий? Возможно, вы могли бы использовать дополнительную строку вместо того, чтобы пытаться включить ее в таблицу, например: «Тогда var в сообщении должно соответствовать магическому числу, исходящему от who-know-where» –

+0

@SzaboPeter. Я имею в виду, что вы бы писали такой файл свойств, как это было, но тогда запись на консоли (и генерируемый JUnit XML) будет иметь значение. Я не уверен в этом, но я думаю, что это похоже на тестирование на основе модели – nnja

ответ

1

Вероятно, вы можете объединить эти два шага вместе, и на этом этапе:

  1. делать то, что вы делаете для вашей «когда» шаг
  2. сделать context.execute_steps с параметрами, например:

context.execute_steps(u'''Then doing something with "you_parameters"'''.format(you_parameter=value)

И, конечно, вы можете сделать context.execute_steps с таблицей, имеющий данные, сгенерированный

+0

Точно, что я искал ... – nnja