以下 Gherking 测试定义了我的一台服务器的所需行为:
Scenario Outline: Calling the server with a valid JSON
Given A GIS update server
When I call /update with the json in the file <filename>
Then the response status code is <status_code>
And the response is a valid JSON
And the response JSON contains the key status
And the response JSON contains the key timestamp
And the response JSON contains the key validity
Examples:
| filename | status_code |
| valid_minimal.json | 200 |
| valid_minimal_minified.json | 200 |
| valid_full.json | 200 |
| valid_full_minified.json | 200 |
| valid_full_some_nulls.json | 200 |
| valid_full_all_nulls.json | 200 |
我编写了这段代码用于对 Flask 服务器进行单元测试。解释 Gherkin 指令的步骤文件打开一个测试客户端并进行必要的调用和断言:
@given(u'A GIS update server')
def step_impl(context):
context.app = application.test_client()
功能文件与单元测试和功能测试类似。唯一的区别在于几个步骤文件,它必须进行 HTTP 调用,而不是调用测试客户端的方法。
通过将参数传递给步骤文件来重用此behave
功能文件的正确方法是什么?