Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 跨语言通用测试数据的格式 我目前在C++和java中的C++库的C++端工作。_Xml_Json_Protocol Buffers_Googletest - Fatal编程技术网

Xml 跨语言通用测试数据的格式 我目前在C++和java中的C++库的C++端工作。

Xml 跨语言通用测试数据的格式 我目前在C++和java中的C++库的C++端工作。,xml,json,protocol-buffers,googletest,Xml,Json,Protocol Buffers,Googletest,我们想从多个字体自动生成测试数据,我们正在使用GoogleTest和JUnit进行测试 我将编写一个脚本,以这种通用格式生成数据,然后在测试中进行解析。问题是,对于C++,我也希望使用谷歌测试的值参数化测试,这意味着C++中也有数据。 >我想用某种通用格式输出数据,并从中生成C++文件。 通常,我们会考虑XML或JSON,但是协议缓冲器似乎很容易生成代码,这使得它们很有趣。 我从未使用过它们并浏览过文档,它们似乎非常擅长定义消息,而不是存储实际值(因此我可以定义Person消息,但我真正想做的

我们想从多个字体自动生成测试数据,我们正在使用GoogleTest和JUnit进行测试

我将编写一个脚本,以这种通用格式生成数据,然后在测试中进行解析。问题是,对于C++,我也希望使用谷歌测试的值参数化测试,这意味着C++中也有数据。 <> >我想用某种通用格式输出数据,并从中生成C++文件。

通常,我们会考虑XML或JSON,但是协议缓冲器似乎很容易生成代码,这使得它们很有趣。 我从未使用过它们并浏览过文档,它们似乎非常擅长定义消息,而不是存储实际值(因此我可以定义Person消息,但我真正想做的是存储一组Person常量)

我们应该使用什么格式


谢谢

看来协议缓冲区很适合您的用例。它在C++和java环境中都是快速和容易使用的。它也非常稳定,有很好的文档记录,在谷歌之外广泛使用

至于在二进制流中存储多个对象,有众所周知的传统方法。例如,请参见以下答案:

请记住,即使Protobuf是二进制格式,也可以将测试用例转换为人类可读的格式,例如JSON或XML。以下是一些相关链接:


看起来协议缓冲区非常适合您的用例。它在C++和java环境中都是快速和容易使用的。它也非常稳定,有很好的文档记录,在谷歌之外广泛使用

至于在二进制流中存储多个对象,有众所周知的传统方法。例如,请参见以下答案:

请记住,即使Protobuf是二进制格式,也可以将测试用例转换为人类可读的格式,例如JSON或XML。以下是一些相关链接:


谢谢你的回答!出于其他考虑,我们最终使用了XML,但很高兴知道protobufs可以这样使用:)谢谢你的回答!出于其他考虑,我们最终使用了XML,但很高兴知道protobufs可以这样使用:)