2012-01-28 1 views
4

SamePropertyValuesAs과 같은 방식으로 동작하는 hamcrest 정규 표현식을 찾고 있지만 속성이 프리미티브가 아닌 표준 Java 클래스 (문자열, 정수 등) 중 하나이거나 그것들 중 하나의 합성물 (콜렉션 또는 배열)은 그 속성들에 대해서도 재귀 일치를 할 것입니다.재귀 SamePropertyValues는 hamcrest의 정규 표현식

거기에 그런식이가 있습니까? 아니면 내 자신을 굴려야합니까?

+0

당신은 정규 쓰기 않은 경우, 어떻게 일치에 실패 요소를 식별합니다. 따라서 목록 A의 세 번째 객체는 배열 B를가집니다.이 배열의 15 번째 요소는 키 D의 값이 배열 F를 갖는 Map D를 가지며이 배열의 F 값은 null이 아닌 것으로 예상되는 경우 세 번째 값이 null입니다. 어떤 개체의 어떤 필드가 실패했는지 식별 할 수 있도록 실패 메시지가 어떻게 표시됩니까? –

+0

a [3] .b [15] .d (e) .f [3]이 아니어야 할 때 null입니다. –

+0

재귀를 통해 많은 정보를 전달할 것으로 기대하십니까? 자기 자신을 굴려야 할 것 같은데. 작동하는 경우 게시하십시오. –

답변

7

Shazam의 엔지니어가 저술 한 라이브러리에서 근본적인 문제를 해결할 수 있습니다. 이것은 Shazamcrest라고 불리는 빈 비교 라이브러리입니다.

매우 강력하고 훌륭한 진단을 생성합니다.

https://github.com/shazam/shazamcrest