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