-1

尝试从另一个多行步骤定义调用多行步骤定义。lettuce.py 网站对此事几乎没有什么可的。

@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 ) )
4

2 回答 2

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" ]

并向开发人员提出了一个问题

于 2014-09-09T19:16:49.197 回答
0

此问题与产品有关。

这应该在 infoxchange/new-parser 分支中修复。——丹妮尔·马德利

于 2014-09-13T09:55:59.473 回答