【问题标题】:writing a JBehave story写一个 JBehave 故事
【发布时间】:2012-03-17 00:09:06
【问题描述】:

这个问题不是关于 REST,而是关于在随后的 @Then 中使用 @When 中调用的返回值。

我正在考虑使用 JBehave 来测试对 REST api 的一些调用。首先有一个post来创建用户

When I create a user with name Charles Darwin

据我了解 REST,这就是 Atom api 所做的,id 在位置标头中返回,例如/user/22。那么我想就响应断言一些事情。

Then user was created with a valid Id

我可以通过在 Steps 类中创建一个成员变量并在其中存储响应来做到这一点,并且我之前也使用过这种方法,但这是正确的方法吗?

【问题讨论】:

    标签: bdd jbehave


    【解决方案1】:

    是的。需要存储可以在 @Then 方法中断言的数据。最简单的方法是拥有一个成员变量 - 但这意味着您的 @When/@Then 需要在同一个 Steps 类中。另一种方法是拥有一个所有步骤都使用的共享数据对象,然后您可以在一个方法中设置它并在另一个方法中获取它。如果你只是想要一些通用的东西,你可以做一个Map<String,? extends Object> 作为你的通用数据对象。然后,如果您使用多个线程运行,则将数据对象包装在 ThreadLocal 中。

    这就是我所看到的 - 应该使用 @BeforeScenario/@AfterScenario 方法设置/清除数据对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-31
      • 2011-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 2011-09-07
      相关资源
      最近更新 更多