생성 한 XML 문서의 내용을 확인해야합니다. 문서의 내용을 쉽게 추출하고 유효성을 검사하는 데 도움이되는 프레임 워크가 있습니까?MSTest 용 XML 단위 테스트 프레임 워크
일이 우리가
- 이 요소의 요소 X
- 값을 포함 알 필요가 X
- 요소는 X 그것은 '아무튼
z 값과 속성 Y를
생성 한 XML 문서의 내용을 확인해야합니다. 문서의 내용을 쉽게 추출하고 유효성을 검사하는 데 도움이되는 프레임 워크가 있습니까?MSTest 용 XML 단위 테스트 프레임 워크
일이 우리가
z 값과 속성 Y를
Fluent Assertions 라이브러리 문서를 보시려면 여기를 클릭하십시오 : http://fluentassertions.codeplex.com/documentation
"XML 클래스"라는 제목의 섹션은 사용자가 좋아하는 것과 같습니다. 이 코드는 LINQ-to-XML을 사용합니다.
xDocument.Should().HaveRoot("configuration");
xDocument.Should().HaveElement("settings");
xElement.Should().HaveAttribute("age", "36");
xElement.Should().HaveElement("address");
xAttribute.Should().HaveValue("Amsterdam");
현재 nuget에서 FluentAssertions를 설치할 수 있습니다 http://nuget.org/packages/FluentAssertions
정확히 내가 뭘했는지 알 수 있습니다. 시도 해봐야 할 것입니다. –
당신은 또한 당신의 XML에 대해 가지고있는 XSD 파일에서 C#을 엔티티를 생성하기 위해 (VS 포함) xsd.exe 같은 도구를 사용할 수 있습니다.
개체가 생성되면 XmlSerializer의 인스턴스를 사용하여 XML을 deserialize 할 수 있습니다. XML을 비 직렬화 할 수없는 경우 잘못된 XML이 있음을 매우 빨리 알 수 있습니다.
그런 다음에는 비 직렬화 엔터티의 다양한 속성을 사용하여 XML의 내용을 매우 쉽게 검증 할 수 있어야합니다.
Here is a good starter blog post XSD에서 엔티티 개체를 생성하는 방법과 XmlSerializer를 사용하여 간단한 비 직렬화 코드를 보여줍니다.
xml에 대한 xsd가 있습니까? –
xsd를 사용하지 않는 것이 좋습니다. 현재 기본값으로 속성을 포함시키기 위해 약간의 후 처리 작업을해야합니다. 오히려 문서를 쿼리 할 수있는 무언가를 원합니다. 어쩌면 XML을 기반으로 도우미에게 linq 일부 –
내가 xsd에 대해 물어 유일한 이유는 쉽게 POCO 코드를 생성 할 수 있습니다. Xml을 객체로 직렬화 해제하면 내용을 확인하는 것이 간단합니다. deserialization의 바로 그 행위는 형식을 확인하는데 도움을 줄 것입니다. –