【问题标题】:How do you Map a Cucumber DataTable to Scala?如何将 Cucumber DataTable 映射到 Scala?
【发布时间】:2012-10-29 10:20:05
【问题描述】:

代码:

val someVariableIWantToSave    //I do not know what to do here

When("""^this request is sent to the XYZ service:$"""){ (requestData:DataTable) =>
 //// we might want to do somethign else with Datatable in the mapping of the       feature, nothing yet
var someVariableIWantToSave = requestData.asMaps()

}

我的意思是 asMaps 方法返回一个 List[Map[String,String]] 类型,我想将它保存到 someVariableIWantToSave val 以便我可以在其他步骤中使用它,但我不确定将它初始化为什么如何在没有大量代码噪音的情况下正确映射它。

【问题讨论】:

    标签: scala cucumber cucumber-jvm


    【解决方案1】:

    您不能“将某些内容保存到 val”,因为无法更改 vals。由于您只是在此步骤中而不是在其他步骤中获取请求数据,因此您应该只有

    When("""^this request is sent to the XYZ service:$"""){ (requestData:DataTable) =>
      val someVariableIWantToSave = requestData.asMaps()
      // do something with someVariableIWantToSave
    }
    

    【讨论】:

    • 我想在其他步骤中使用该请求数据
    【解决方案2】:

    这是我的解决方案。由于这只是使用 var 的测试代码,在这里可以。我在测试中将其设置为全局,然后其他步骤可以使用它...

    var request: java.util.List[java.util.Map[String, String]] = _
    
    When("""^this request is sent to the blah service:$"""){ (requestData:DataTable) =>
    request = requestData.asMaps() 
    } 
    

    `

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-19
      • 2021-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-30
      • 1970-01-01
      相关资源
      最近更新 更多