2014-09-01 2 views
-1

Попытка вызывать определение многострочного шага из другого определения многострочного шага. На сайте lettuce.py мало всего say по этому вопросу.Как использовать определения многострочных шагов, вызывающие другие определения многострочных шагов

@step(u'I create a "([^"]*)" with the definition:$') 
    def i_create_a_resource_with_the_definition(step, resource): 
     body = "" 

     if step.multiline != "": 
      definition = json.loads(step.multiline) 
      body = json.dumps(definition) 

     url = world.url + "/" + resource + "s" 

     world.response = world.perform_http_request(url = url, method = "POST", body = body) 

@step(u'I create a duplicate "([^"]*)" with the definition:$') 
    def i_create_a_duplicate_resource_with_the_definition(step, resource): 
     step.behave_as(""" 
      I create a "{resource}" with the definition: 
     """.format(resource = resource)) 

ответ

0

Эта проблема product.

Это должно быть исправлено в ветке infoxchange/new-parser. - Danielle Madeley

0

Если вы действительно не отвечаете на вопрос. Мы исходили на данный момент со следующим определением шага:

@step(u'I "([^"]*)" (a|a duplicate) "([^"]*)" with the definition:$') 
def i_method_a_resource_with_the_definition(step, method, word, resource): 
    body = "" 

    if step.multiline != "": 
     definition = json.loads(step.multiline) 
     body = json.dumps(definition) 

    url = world.url + "/" + resource + "s" 

    world.response = world.perform_http_request(url = url, method = method, body = body) 

    if "location" in world.response.headers: 
     world.last_resource_identifier = world.response.headers[ "location" ] 

И подняли issue с разработчиками.

Смежные вопросы