2014-11-12 2 views
3

다음 요구 사항을 사용하여 Soap UI 및 Wiremock의 기능을 비교하려고합니다. (대부분의 경우 내 프로젝트에서 현실적입니다).와이어 록 URL 일치 로직

목표는 통화 가격 서비스를위한 모의 광고를 만드는 것입니다. 요구 사항 :

  • 접근

    에서 mytesthost/priceservice/getprice

  • 는 하나 개의 매개 변수가 같은 currenypair 를 정의하는 '똥개'라는를 기대합니다 : CUR = EURHUF을

  • 때 아래와 같이 호출하면 EURHUF.xml 파일에 저장된 XML 응답으로 응답해야합니다.

    mytesthost/priceservice/getprice? CUR = EURHUF

  • 파일 EURUSD.xml에 저장된 XML 응답에 응답해야 아래라고합니다.

    mytesthost/priceservice/getprice? CUR = EURUSD

    과 비누이 구현 NOCURR.xml

에 저장된 오류 응답 응답해야 어떤 다른 currencypair라고

  • UI는 몇 줄의 Groovy 코드를 구현하여 응답을 선택하는 것보다 결과를 준비하는 것으로 귀결됩니다.

    wiremock의 문제에 접근 할 때 두 가지 'happpy'경로 사례를 비교할 수 있지만 대체 사례 (NOCURR.xml 사용)를 달성하는 방법을 알지 못합니다.

    내가 일치하고있는 중이 방법에

    예 :

    { 
        "request": { 
         "method": "GET", 
         "url": "/priceservice/getprice?cur=EURUSD" 
        }, 
        "response": { 
         "status": 200, 
         "bodyFileName": "EURUSD.xml" 
        } 
    } 
    

    내가 wiremock와이를 달성 할 수 있습니까? 나는 주로 Json 구성을 통해이 작업을 수행하는 것에 관심이 있지만 Java API가 좋은 방법 일 경우에 관심이 있습니다.

  • 답변

    6

    해결책을 찾았습니다. 심지어이 아닌 기존 통화 쌍 1에 대한

    및 매핑은 2 - 다른 모든 경우

  • 일치 CHFHUF를 들어
  • 일치 EURUSD을 위해

    1. : 그래서 우리는 세 가지 JSON 매핑 파일이 좋아요 :

      { 
          "priority": 1, 
          "request": { 
           "method": "GET", 
           "url": "/priceservice/getprice?cur=CHFHUF" 
          }, 
          "response": { 
           "status": 200, 
           "bodyFileName": "CHFHUF.xml" 
          } 
      } 
      

      우선 순위 = 1에 유의하십시오.

      는 어디에 '다른'케이스로 우리는이 :

      { 
          "priority": 2, 
          "request": { 
           "method": "GET", 
           "urlPattern": "/priceservice/.*" 
          }, 
          "response": { 
           "status": 200, 
           "bodyFileName": "NOCURR.xml" 
          } 
      } 
      

      을뿐만 아니라이 대신 'URL'의 낮은 우선 순위 (2) 또한 내가 정규식 일치에 'userPattern'을 추가했다.