다른 디렉토리에서 한 기능을 재사용 할 때지도로 변환 할 수 없습니다.

Thinkerou

나는 읽었다 : https://stackoverflow.com/search?q=%5Bkarate%5Dcannot+convert+to+maphttps://github.com/intuit/karate/issues/544

나는 karate-0.8.0을 사용하고 있습니다.

A 디렉토리에서 재사용되는 기능이 하나 있습니다. 내용은 다음과 같습니다.

@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 디렉토리에 다음과 같은 다른 기능 파일이 있습니다.

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, 오류 정보 :

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: 
피터 토마스

이 두 줄은 모두 잘못되었습니다.

* def ck = Sign.execute('#(uid)')
* multipart fields  '#(fo)'

이것을 읽으십시오 : https://github.com/intuit/karate#rules-for-embedded-expressions

가라테에서 표현은 기본적으로 순수 JS입니다. 그러니 이렇게하십시오 :

* def ck = Sign.execute(uid)
* multipart fields fo

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

.gitignore 파일을 한 디렉토리에서 다른 디렉토리로 이동할 수 없습니다.

배치 파일이 실패하여 한 디렉토리에서 다른 디렉토리로 파일을 복사 할 수 없습니다.

배치 파일이 실패하여 한 디렉토리에서 다른 디렉토리로 파일을 복사 할 수 없습니다.

한 디렉터리에서 다른 디렉터리로 파일을 복사 할 수 없습니다.

Docker에서 '/'디렉토리의 권한을 변경할 수 없습니다.

집계 카탈로그에서 in을 사용한 후 디렉토리를 삭제할 수 없습니다.

사용자를 변경 한 후에도 Redis 데이터 디렉토리를 변경할 수 없습니다

IMG 디렉토리는 db에 저장할 수 없지만 쿼리에 사용 된 동일한 변수에서 볼 수 있습니다.

이벤트가있는 코드의 Blazor 재사용 가능 RenderFragments : 람다 식을 의도 한 대리자 형식으로 변환 할 수 없습니다.

Python을 사용하여 한 디렉터리에서 다른 디렉터리로 파일을 이동하는 동안 오류를 해결할 수 없습니다.

다른 PC에서 재사용 할 수 있도록 숭고한 텍스트 조각을 디렉토리에 저장

다른 디렉토리에 콘다를 다시 설치한 후 콘다를 사용할 수 없습니다

centos 6에서 복사 한 디렉토리를 삭제할 수 없습니다.

CFile :: Remove, 디렉토리에서 파일을 제거했지만 파일을 사용할 수 없습니다.

객체를 만들지 않는 한 동일한 디렉토리에서 Java 파일을 사용할 수 없습니다.

디렉토리의 파일을 다른 디렉토리로 복사 할 수 없습니다.

디렉토리의 파일을 다른 디렉토리로 복사 할 수 없습니다.

문서 디렉토리로 변경할 수 없습니다

LinQ 쿼리-기본이 아닌 EDM 유형으로 날짜를 사용할 수 없습니다. 또한 DateTime을 문자열로 변환 할 수 없습니다.

SocketServer 및 BaseHTTPServer를 사용하여 로컬 디렉토리에서 파일을 제공 할 수 없습니다.

문서 디렉토리에 비디오를 저장하거나 다운로드 할 수없고 문서 디렉토리에서 재생할 수 없습니다.

Jolt Parser를 사용하여 한 JSON 형식을 다른 형식으로 변환 할 수 없습니다.

사전을 배열로 변환 할 수 없습니다. 빠른

한 디렉터리에서 응용 프로그램 폴더로 파일을 복사 할 수 없습니다.

지도를 사용하여 관찰 가능한 값을 변환할 수 없습니다.

권한이 없기 때문에 python의 'shutil'을 사용하여 디렉토리를 복사할 수 없습니다.

응용 프로그램을 다중 언어로 변환 할 수없고 현재 콘텐츠를 번역 가능한 상태로 유지할 수 없습니다.

Nginx는 사용 가능한 사이트의 루트 디렉토리에 액세스 할 수 없습니다.

'T'유형에 대한 표준 변환이 없기 때문에 '<null>'유형의 값을 기본 매개 변수로 사용할 수 없습니다.