2011-09-02 3 views
1

현재 C++ 및 Java에서 글꼴 라이브러리의 C++ 측면에서 작업하고 있습니다.크로스 언어 공통 테스트 데이터 형식

여러 글꼴에서 자동으로 테스트 데이터를 생성하고 테스트를 위해 Google Test 및 JUnit을 사용하고 있습니다.

테스트에서 파싱되는이 공통 형식의 데이터를 생성하는 스크립트를 작성합니다. C++의 경우 Google 테스트의 값 매개 변수화 된 테스트를 사용하고 싶습니다. 이는 데이터를 C++로 가져 오는 것을 의미합니다.

그래서 저는 일반적인 형식으로 데이터를 출력하고 C++ 파일을 생성 할 생각입니다.

일반적으로 우리는 XML 또는 JSON을 고려할 것이지만 프로토콜 버퍼는 생성 코드를 매우 쉽게 이해하기 때문에 매우 흥미로울 것입니다. 필자는 그것들을 사용한 적이 없으며 문서를 탐색하면서 메시지를 정의하는 것이 실제로 좋을뿐만 아니라 실제 값을 저장하는 것이 아닙니다 (그래서 Person 메시지를 정의 할 수 있습니다. 그러나 실제로하고 싶은 것은 Person 상수).

어떤 형식을 사용해야합니까?

감사합니다.

답변

1

프로토콜 버퍼가 사용 사례와 잘 어울리는 것 같습니다. C++ 및 Java 환경 모두에서 빠르고 쉽게 사용할 수 있습니다. 또한 매우 안정적이며 잘 문서화되어 있으며 Google 외부에서 널리 사용됩니다.

이진 스트림에 여러 객체를 저장하는 방법으로 잘 알려진 기존 방법이 있습니다. 예를 들어,이 SO 대답을보십시오 : Storing multiple messages in one protocol buffer binary file

Protobuf가 바이너리 형식 임에도 불구하고 테스트 케이스를 사람이 읽을 수있는 형식 (예 : JSON 또는 XML)으로 변환 할 수 있습니다. 여기에 몇 가지 관련 링크는 다음과 같습니다 답변

+0

감사합니다! 우리는 다른 고려 사항 때문에 XML을 사용하여 끝났지 만, protobufs가이 방법으로 사용될 수 있다는 것을 알고있어 기쁩니다. :) –

관련 문제