草庐IT

test_sizeof

全部标签

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++ - MSVC 与 GCC 与 sizeof 的行为不一致

考虑以下代码:#includeclassA{public:structB{intM;};staticvoidStaticFunc();};voidA::StaticFunc(){conststd::size_ts0=sizeof(::A::B::M);conststd::size_ts1=sizeof(A::B::M);conststd::size_ts2=sizeof(B::M);}intmain(){conststd::size_ts3=sizeof(A::B::M);return0;}GCCcompilesit,只是警告未使用的变量。但是VisualC++2015无法编译它:er

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

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

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++ - sizeof 是否可以在 lambda 中应用于未捕获的变量,或者这是一个编译器错误?

这是讨论的跟进foundhere.以下代码在gcc和clang(livedemo)下编译。对于行//1中的情况,这是令人惊讶的,因为lambda不捕获任何内容。对于MCR2的情况,其中lambda返回指针本身,我们得到预期的编译时错误(行//Willnotcompile)。运算符sizeof的应用与返回指针有何不同?#include#defineMCR1(s)\([](){returnsizeof(s);})()#defineMCR2(s)\([](){returns;})()intmain(){auto*s="helloworld";autox1=MCR1(s);//1autoy1=

c++ - 为什么 sizeof Derived Class 是 8?

#includeusingnamespacestd;classEmpty{};classDerived:virtualpublicEmpty{charc;};intmain(){cout为什么size要来8我觉得应该是9,如果我将“c”声明为整数,那么它也将是8你能给我解释一下逻辑吗 最佳答案 大小依赖于实现,它取决于特定编译器实现如何实现虚拟化和填充。你不应该期望这个值是特定的东西。如果您想在程序中计算大小,只需使用sizeof即可。 关于c++-为什么sizeofDerivedCla

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++ - Visual C++ 中的 sizeof ("...") 让我不开心

我正在写一段代码,其中我使用sizeof("somestring")作为函数的参数,然后我注意到函数没有返回预期值,所以我去看了相应的asm代码,我发现了一个不愉快的惊喜。有人对此有解释吗(见图片)?我知道有1000多种不同的方法可以做到这一点,我已经实现了其中的另一种,但我确实想知道这种行为背后的原因。出于好奇,这是VisualStudio2008SP1。 最佳答案 值5是正确的。该常量包括零终止符字节。监window口中显示的4是看起来不正确的那个。 关于c++-VisualC++中

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