首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当重复使用另一个目录中的一个功能时,无法转换为映射。

当重复使用另一个目录中的一个功能时,无法转换为映射。
EN

Stack Overflow用户
提问于 2018-11-22 03:34:05
回答 1查看 595关注 0票数 1

我读过:https://stackoverflow.com/search?q=%5Bkarate%5Dcannot+convert+to+maphttps://github.com/intuit/karate/issues/544

我用空手道-0.8.0

我有一个将在目录中重复使用的特性,内容如下:

代码语言:javascript
复制
@ignore
Feature:

  Background:
    * url baseUrl
    * def Sign = Java.type('cruiser.token.Sign')
    * configure afterScenario =
    """
    function() {
      if (karate.info.errorMessage != null) {
        karate.log(karate.info.errorMessage);
      }
    }
    """
  Scenario:
    * def ck = Sign.execute('#(uid)')
    * path '/rest/n/rt/upload'
    * cookies ck
    * multipart fields  '#(fo)'
    * multipart file rt = { read: 'classpath:cruiser/http/rt/A/123.mp3', filename: '123.mp3', contentType: 'audio/mp3' }
    * method post
    * status 200
    * match response contains { result: 1 }

还有B目录中的另一个特性文件,内容如下:

代码语言:javascript
复制
Feature:
Background:
  Scenario:
    * def fo =
    """
    {
      'title': '你好!',
      'description': '很好听哦'
    }
    """
    * def x = call read('classpath:cruiser/http/rt/A/upload-base.feature') { uid: 33, fo: '#(fo)' }
    * match x.response contains { result: 1 }
    * print x.response.feed.id

它的跑步者名为XRunner.java

mvn test -Dtest=XRunner时,错误信息:

代码语言:javascript
复制
Running cruiser.http.rt.B.XRunner
11:25:33.138 [main] INFO  com.intuit.karate.junit4.Karate - Karate version: 0.8.0
11:25:33.896 [main] ERROR com.intuit.karate - feature call failed: classpath:cruiser/http/rt/A/upload-base.feature
arg: {uid=33, fo={title=你好!, description=很好听哦}}

cannot convert to map:  '#(fo)'
Failed scenarios:
cruiser/http/rt/B/x.feature:3 # Scenario: 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-22 04:07:52

这两行都错了:

代码语言:javascript
复制
* def ck = Sign.execute('#(uid)')
* multipart fields  '#(fo)'

读这个:https://github.com/intuit/karate#rules-for-embedded-expressions

在空手道中,默认情况下表达式是纯JS。所以就这么做:

代码语言:javascript
复制
* def ck = Sign.execute(uid)
* multipart fields fo
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53423499

复制
相关文章

相似问题

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