草庐IT

test-protobuf

全部标签

c++ - 在 "test mode"中打印信息,但不在 "normal execution"中打印信息

我正在使用c++中的应用程序,它使用特殊的dprintf函数来打印信息,这是一个示例:dprintf(verbose,"Thevalueis:%d",i);我正在做的是,当我出于测试目的定义冗长然后打印信息时,当我在正常执行中工作时我没有定义它并且我没有在屏幕上看到无用的信息。我的问题是如何执行该功能或实现相同的想法? 最佳答案 我尽量避免使用var-argC风格的函数,主要原因有两个:它们不是类型安全的,不能使用运算符他们无法识别何时提供的论点太少或太多我创建了一种使用boost::fusion的方法,它以类型安全的方式提供参数。

c++ - C 结构 (C++ POD) 和 google protobufs 之间的转换?

我的代码目前传递大量(有时是嵌套的)C(或C++普通旧数据)结构和数组。我想将它们与googleprotobufs相互转换。我可以手动编写在这两种格式之间进行转换的代码,但自动生成此类代码会更不容易出错。做这个的最好方式是什么?(这在具有足够自省(introspection)能力的语言中很容易迭代成员变量的名称,但这是我们正在谈论的C++代码)我正在考虑的一件事是编写python代码来解析C结构,然后吐出一个.proto文件,以及为所有类型从一个成员复制到另一个成员(在任一方向)的C代码,但也许有更好的方法……或者可能已经有另一个IDL可以生成:.h包含所有嵌套类型的文件.proto文

c++ - CPPUnit 中测试套件属性使用的示例是什么? (CPPUNIT_TEST_SUITE_PROPERTY)

我加入了一个使用CPPUnit进行单元测试的项目,并将添加一些可能共享设置和拆卸代码的测试。在对此进行更多研究时,我遇到了CPPUNIT_TEST_SUITE_PROPERTY(来自https://people.freedesktop.org/~mmohrhard/cppunit/group___writing_test_fixture.html)它的描述说Addsapropertytothetestsuitebuildercontext.http://cppunit.sourceforge.net/doc/cvs/group___writing_test_fixture.html说如

c++ - Boost.Test 错误消息不再显示在 VS2010 的错误列表中

我正在为nativeC++项目使用Boost.Test单元测试框架。一切正常,但在升级到VisualStudio2010后我遇到了一个问题:在测试作为生成后步骤运行后,有关失败测试的消息不再显示在错误列表中。这是一个遗憾,因为Boost.Test与nativeC++项目的组合最接近(尽管仍然很远)我习惯于从单元测试管理的项目中获得舒适感。我正在使用Boost.Test作者推荐的配置here.任何人都可以帮助解决这个小问题,但有点让人感觉不舒服吗?问候,保罗 最佳答案 如果你不想等待发布,想自己修复格式化程序打开BOOST_PATH\

android - kapt 不解析 protobuf 生成的类

我在构建过程中遇到这样的错误:e:/Users/some/path/SomeClass.java:86:error:cannotfindsymbole:e:staticConnectionTypegetConnectionType(Contextcontext){e:^e:symbol:classConnectionTypee:location:classSomeClass其中ConnectionType是protobuf生成的类。所以看起来kapt不能解析生成的类。我尝试了什么?一开始我添加了kotlin-apt插件:applyplugin:'kotlin-kapt'然后我将brot

android - kapt 不解析 protobuf 生成的类

我在构建过程中遇到这样的错误:e:/Users/some/path/SomeClass.java:86:error:cannotfindsymbole:e:staticConnectionTypegetConnectionType(Contextcontext){e:^e:symbol:classConnectionTypee:location:classSomeClass其中ConnectionType是protobuf生成的类。所以看起来kapt不能解析生成的类。我尝试了什么?一开始我添加了kotlin-apt插件:applyplugin:'kotlin-kapt'然后我将brot

c++ - 更快地编译 Boost.Test 测试

我正在使用xcode(gcc)编译我的boost测试套件,它花费的时间太长。测试是最小的虚拟测试,但编译它们需要几秒钟(大约20秒):#include"boost/test/included/unit_test.hpp"BOOST_AUTO_TEST_CASE(dummy){BOOST_CHECK_EQUAL(2+2,4);}BOOST_AUTO_TEST_CASE(dummyFail){BOOST_CHECK_EQUAL(2+3,4);}手册建议使用库版本来boost编译。但是,我担心这可能行不通——xcode已经只重建了我的测试。由于存在目标文件,因此不会重新编译整个框架。我猜是B

c++ - 如何让自定义运算符 == 与 Google Test 一起使用?

我在将自定义重载“==”运算符与PCL和GoogleTest(GTest)结合使用时遇到问题#includenamespacepcl{structPointXYZ;}booloperator==(pcl::PointXYZp1,pcl::PointXYZp2){returnp1.x-p2.xTEST(Foo,bar){pcl::PointXYZa{2,3,4};pcl::PointXYZPb{2,3,4};EXPECT_EQ(a,b);//Compileerrornomatchforoperator==}intmain(intargc,char**argv){testing::Init

c++ - gtest 中对 testing::internal::EqFailure 的 undefined reference

我正在尝试使用GoogleTest对函数进行测试,现在它不再找到EqFailurething:/usr/include/gtest/gtest.h:1337:undefinedreferenceto`testing::internal::EqFailure(charconst*,charconst*,testing::internal::Stringconst&,testing::internal::Stringconst&,bool)'我正在这样写测试:test_file.cpp:#include#include"tools/CMorphology.hpp"TEST(erode_Mo

c++ - Test t; 之间有什么区别?和测试 t();?如果 Test 是一个类

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whyistherenocalltotheconstructor?我正在使用VisualStudio2012,假设Test是一个类classTest{};当我创建一个新的Test实例时,下面两种方式有什么区别?方式一Testt;方式二Testt();我在下面的代码中遇到了这个问题,本来,我用方式2定义了一个A的实例,我只得到一个错误,因为B没有提供默认构造函数,但是当我用方式1定义它时,我得到了一个额外的错误。classB{B(inti){}};classA{A(){}Bb;};intmain(void){A