草庐IT

final_test

全部标签

c++ - boost.test 与 CppUnit

我使用CppUnit已经有一段时间了(我很满意)。随着我们使用越来越多的boost库部分,我对boost.test进行了简短的了解,现在我想知道是否应该在新项目中切换到boost.test。谁能告诉我这两个框架之间的区别以及使用boost.test的好处(如果有的话)? 最佳答案 这比Boost.Test替代方案更不笨重:classMyFixture{MyFixture(){/*setuphere*/}};BOOST_AUTO_TEST_CASE(my_test,MyFixture){BOOST_CHECK_EQUAL(0,foo)

c++ - 如何在基于 CMake 的项目中使用 Boost.Test?

我的项目使用CMake作为其构建系统,我希望它执行我的Boost.Test测试用例。我怎样才能做到这一点?在Boost.Build中,我可以这样做:importtesting;use-project/my_lib:../src;unit-testmy_test:my_test.cpp/my_libboost_unit_test_framework;libboost_unit_test_framework; 最佳答案 CMake本身只是一个构建系统;CTest是一个与CMake集成的公正测试运行器。单元测试框架也不是。这项工作可以由B

c++ - 虚拟继承 : Error: no unique final overrider

我知道在问这个问题之前和之前这里已经介绍了虚拟继承,我浏览了虚拟继承的详细信息,并浏览了类似问题的详细信息,如下所示:multiple-diamond-inheritance-compiles-without-virtual-but-doesnt-with和whydoesGCCgivemeanerror-finaloverrider我的问题略有不同,因为我没有使用纯虚函数,而是显式使用虚拟继承来拥有一个唯一的base类。层次结构如下:base/\/\der1der2\/der3我知道关于派生问题的可怕钻石,这就是我使用虚拟继承的原因。#includeclassbase{public:b

c++ - 教Google-Test如何打印特征矩阵

介绍我正在使用Google的测试框架Google-Mock在Eigen矩阵上编写测试,如anotherquestion中所述。使用以下代码,我能够添加自定义Matcher以将Eigen矩阵匹配到给定的精度。MATCHER_P2(EigenApproxEqual,expect,prec,std::string(negation?"isn't":"is")+"approxequalto"+::testing::PrintToString(expect)+"\nwithprecision"+::testing::PrintToString(prec)){returnarg.isApprox(

c++ - 从标记为 final 的类的构造函数中调用虚函数是不好的做法吗

通常从构造函数调用虚函数被认为是不好的做法,因为子对象中的覆盖函数不会被调用,因为对象尚未构造。但是,请考虑以下类:classbase{public:base(){}~base(){}private:virtualvoidstartFSM()=0;};classderivedfinal:publicbase,publicfsm_action_interface{public:derived():base{},theFSM_{}{startFSM();}///FSMinterfaceactionsprivate:virtualvoidstartFSM(){theFSM_.start();

c++ - 如何为类定义 'final' 成员函数

是否可以让我的成员函数final像在Java中一样,以便派生类不能覆盖它们? 最佳答案 C++11添加了一个final上下文关键字来支持这一点:classB{public:virtualvoidfoo()final;};classD:B{public:virtualvoidfoo();//error:declarationof'foo'overridesa'final'function};GCC4.7和Clang3.0支持final。正如Sergius在他的回答中指出的那样,自MSVC++2005起,MSVC++就支持它(使用拼写s

c++ - 谷歌测试 : Parameterized tests which use an existing test fixture class?

我有一个测试夹具类,目前许多测试都在使用它。#includeclassMyFixtureTest:public::testing::Test{voidSetUp(){...}};我想创建一个参数化测试,它也使用MyFixtureTest必须提供的所有功能,而无需更改我现有的所有测试。我该怎么做?我在网上找到了类似的讨论,但没有完全理解他们的答案。 最佳答案 此问题现已在GoogleTestdocumentation中得到解答。(来自VladLosev的answer在技术上是正确的,但可能需要做更多的工作)具体来说,当你想给一个预先存

c++ - 将 Jenkins 与 boost.test 单元测试一起使用

我在这方面做了一些谷歌搜索,发现了很多关于让Jenkins理解boost.test的XML输出格式的讨论,但没有规范的引用。有人说我们只需要使用XLST来转换XML格式,其他人则建议在此之前XML需要一些黑客攻击(AnyonehaveanXSLtoconvertBoost.TestXMLlogstoapresentableformat?)。有人建议xUnit插件cannative理解boost.testXML格式,其他stateitcan't由于我的搜索结果跨越5年,我意识到情况可能会发生变化。因此,我正在寻找关于使用Jenkins运行和评估boost单元测试的最佳方法的最新答案。

c++ - 如何将 valgrind 测试添加到我的 cmake "test"目标

我通过使用ninja构建来运行单元测试,然后从我的构建树中运行ninjatest:cmake-GNinja/source/treeninjaninjatest但是,要运行valgrind,我需要手动运行它:valgrindrel/path/to/test我希望valgrind在我运行ninjatest时自动运行。Accordingtothecmakedocumentation“设置[valgrind测试]非常简单”,但是当我运行时ctest-DNightlyMemoryCheck我只是得到这个错误:Cannotfindfile:/home/arman/tinman/deb/DartCo

javascript - JS单元测试: run tests on file changes (like nodemon)

我有两个关于JS单元测试的问题:1)是否有一些工具允许在某些文件更改时自动运行javascript单元测试(例如nodemon在js更改时重新启动node.js)。2)这种策略是否适合(有效)运行单元测试?谢谢,亚历克斯 最佳答案 对于那些致力于使用nodemon的人来说,nodemon-x"npmtest"对我有用。一点解释nodemon--help说:-x,--execapp......用“app”执行脚本,即。-x"python-v"。在我们的例子中,npmtest被设置为通过配置我们的package.json来运行测试例如: