Поскольку сценарии не разделяют один и тот же фон, почему бы не переместить специальный файл в другие файлы функций или просто не использовать фон.
Но если вы все же хотите использовать фоновый раздел, я бы рекомендовал:
Во-первых, добавить крюк к вашему environment.py
def before_scenario(context, scenario):
if 'need_background ' in scenario.tags:
context.if_background = True
else:
context.if_background = False
Затем объединить все свои шаги в фоновом режиме, как один шаг
@given('all background steps are done')
def step_impl(context):
if context.if_background:
context.context.execute_steps('''
steps in background
''')
else:
pass
Теперь, если ваш файл особенность:
Feature: Background with condition
Background:
Given all background steps are done
Scenario: run without background
# steps of the scenario you don't need background
@need_background
Scenario: run with background
# steps of the scenario you need background
Я думаю, он может отвечать вашим требованиям