首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >黄瓜Gherkin XML-输入

黄瓜Gherkin XML-输入
EN

Stack Exchange QA用户
提问于 2017-03-07 09:33:09
回答 1查看 1.8K关注 0票数 3

我正在开发一个REST来验证数据(系统到系统通信)。这些数据用XML描述。使用在系统中实现的业务规则对XML的内容进行验证。我想用测试示例XML数据文件验证的客户端(三个朋友)来定义场景。我该怎么做?

在我看来,我有两个选择: 1)将XML-数据描述为输入2)对现有文档的引用。

1)

代码语言:javascript
复制
Scenario Outline: Add valid document
  Given I have the following XML
  """


     <?xml version="1.0" encoding="UTF-8" standalone="no"?>
        <element>
          .....
        </element>

  """

  When I POST this XML

  Then results should not contain value `<code>` at path `<xpath>`

  Examples:

    | xpath             | code        |

    | /xpath/expression |  ERROR_CODE |  

2)

代码语言:javascript
复制
Given I have XML with id 1
When I post this XML
Then results should not contain value `<code>` at path `<xpath>`

      Examples:

        | xpath             | code        |

        | /xpath/expression |  ERROR_CODE |  

选项1可能有点过于技术性,但这里要注意的是,业务知道验证数据、验证哪些字段和预期的验证错误。这种方法的好处是测试数据与系统分开定义,并与测试用例相结合。

选项2更好地理解,但您被绑定到已经在系统中的数据。

你对此有什么看法吗?

EN

回答 1

Stack Exchange QA用户

回答已采纳

发布于 2017-03-10 13:04:24

我们选择创建对象生成器,将其转换为步骤定义中的XML定义(第三个选项),并在场景中使用这些定义。

然后,在功能上,我们可以在功能文件中定义一个对象结构:

代码语言:javascript
复制
Given I have an object
And Object has id 123
And Object has property foo
And Object has ...
When I post this object
Then I should receive ...

在我们的逐步定义中,我们将这个对象转换为xml结构。

代码语言:javascript
复制
ObjectBuilder builder = new ObjectBuilder();
builder.setId(..);
builder.setProperty(..);
builder.toXML();
票数 0
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/25949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档