草庐IT

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++ - 谷歌测试 : 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来运行测试例如:

node.js - Node JS : How can I create a fake tcp socket for testing servers

我正在尝试对我的服务器代码(非http、自定义协议(protocol))进行单元测试。我需要创建一个模拟双工套接字,我可以异步发送消息并从中接收消息。我在从事件流readArray和writeArray创建双工流方面取得了一些成功,但readArray需要预先准备好数据,并且writeArray在流结束之前不会触发。我需要随着时间的推移进行测试。理想的解决方案是将两个双工套接字链接在一起。是否有任何现有的解决方案?我宁愿不必求助于初始化一个实际的服务器来测试它。 最佳答案 NodeMitm实际上可以做到这一点。它不仅可以拦截和模拟H

Node.js + mocha + webdriverjs : Failed tests kill suite

我正在使用Mocha和WebDriverJS测试一个Web应用程序,或多或少如here所述.当测试通过时,一切都很好。但是,如果一个测试失败,套件中的其余测试将超时,并且运行器将在套件结束时退出,而不关闭Webdriver实例。示例测试用例:varassert=require('assert'),client=require("webdriverjs").remote({logLevel:'silent'});describe('Self-test',function(){before(function(done){client.init().url('http://www.wikip

node.js - 将 iisnode 中的 Node.js 环境变量 (NODE_ENV) 设置为 Production/Development/Test

我们如何告诉iisnode在生产/开发/测试中运行我们的Node.js应用程序环境?我们已经成功让我们的Node.js应用程序在iisnode上运行,但process.env.NODE_ENV显示为“未定义”。目前,我们的web.config文件是这样写的: 最佳答案 Joachim就在上面加上到web.config允许控制NODE_ENV值。另一种方法是添加iisnode.ymlweb.config旁边的文件,并在其中将NODE_ENV值指定为node_env:production.在https://github.com/tjan

javascript - Mocha : create and finalize test programmatically

我想实时代理在其他环境中运行的测试结果。下面是一些我想要实现的伪代码:vartest=proxy.getCurrentTest();//=>{slow:200,timeout:2000,duration:235,result:'error'};vartmpIt=it('test1',function(){this.slow(test.slow);this.timeout(test.timeout);});tmpIt.close({duration:test.duration,result:test.result});//thisshouldmakethistestredintheout

unit-testing - 测试 Mongoose Node.JS 应用程序

我正在尝试为我的部分Node应用程序编写单元测试。我正在为我的ORM使用Mongoose。我搜索了很多关于如何使用Mongoose和Node进行测试的方法,但没有提供任何东西。解决方案/框架似乎都是全栈的,或者没有提到mock的东西。有没有一种方法可以模拟我的MongooseDB,以便在我的测试中返回静态数据?我宁愿不必建立一个测试数据库并为每个单元测试填充数据。有没有其他人遇到过这种情况? 最佳答案 我也去寻找答案,结果到了这里。这就是我所做的:我开始使用mockery模拟我的模型所在的模块。然后创建我自己的模拟模块,每个模型都将