2014-12-04 12 views
0

Fitnessness와 함께 Rest Fixture를 사용하여 non-xml 응답을 반환하는 URL에 대한 GET 요청을 만듭니다. 반환되는 내용에서 텍스트/문자열 (xpath없이)을 확인할 수있는 방법이 있습니까?fitness-non-xml 출력 유효성 검사 가능

답변

0

이 해결책을 찾았습니다. TEXT는 XML 및 JSON에서 지원되는 콘텐츠 처리기입니다. 내용 핸들러를 TEXT로 대체하고 내용을 예상 할 수 있습니다. 정규 표현식을 사용하여 내용을 예상 할 수도 있습니다.

| Table:smartrics.rest.fitnesse.fixture.RestFixtureConfig | overridesContentHandlerConfig| 
| restfixture.content.handlers.map | application/smil=TEXT | 
!| Table:smartrics.rest.fitnesse.fixture.RestFixture | ${host} ||overridesContentHandlerConfig | 
| GET | www.someurl.com | 200 | | [\s\w\d<>/=\:'.]*stringtoverify[\s\w\d<>/=\:'.]* |  
0

적합 모드 + NetRunner 플러그인 (.Net 용)을 사용할 수 있습니다.

here 예를 들어, 개체에 대한 입력 줄을 구문 분석하는 방법을 참조하십시오.

0

또 다른 방법은 사용자 지정 비교기를 사용하는 것입니다. 따라서 사용자 정의/복잡한 결과에 대한 유효성 검사를보다 유연하게 사용자 정의 할 수 있습니다.

사용자 정의 비교기를 사용하려면 CustomComparators = <prefix:classname>[,<prefix:class name>]

의욕 : 슬림 프로토콜은 모든 문자열 값입니다 는

필수 속성 ('CustomComparators'에 대한 검색) here를 기록. 복잡한 데이터 유형에 대한 예상 결과와 실제 결과의 비교가 인 경우 은 문자열 동일성 또는 정규 표현식 일치로 제한됩니다. 이 충분하지 않으면 사용자 지정 비교기가 더 복잡한 비교를 수행 할 수 있습니다. 등록이 완료되면 사용자 지정 비교기가 접두사로 시작되고 예상 값 앞에 콜론이 표시됩니다.

예 비교기 구현 :

public class JSONAssertComparator implements CustomComparator { 
    @Override 
    public boolean matches(String actual, String expected) { 
     try { 
      JSONAssert.assertEquals(expected, actual, false); 
      return true; 
     } catch (JSONException e) { 
      throw new RuntimeException(e.getMessage(), e); 
     } 
    } 
} 

예 plugins.properties :

CustomComparators = json:com.acme.JSONAssertComparator 

예 ScriptTable 사용 :

|script|Customer        | 
|check|get|cust1|json:{id:cust1,name:"John Doe"}|