相关疑难解决方法(0)

C++代码的单元测试 - 工具和方法

我正在研究一个已经开发了几年的大型c ++系统.作为提高现有代码质量的努力的一部分,我们参与了一个大型的长期重构项目.

你知道一个很好的工具可以帮助我用C++编写单元测试吗?也许类似于Junit或Nunit?

任何人都可以为编写单元测试的方法提供一些很好的建议,这些模块是在没有单元测试的情况下编写的吗?

c++ refactoring unit-testing

134
推荐指数
11
解决办法
5万
查看次数

GoogleTest与CppUnit:事实

在为接下来的几年设置我们的C++单元测试框架的过程中,我们将GoogleTestCppUnit列入了候选名单.我对两者都有一些经验,而我的偏好是GoogleTest.无论如何要说服我的老板我需要一些事实,所以我在互联网上做了一些阅读,包括手册,维基页面和一些来源.我想出了一个GoogleTest优势列表和一个CppUnit优势(图形测试跑步者).在这里,他们按照感知有用性排序:

  • INSTANTIATE_TEST_CASE_P用你想要的任何参数实例化一个测试用例,包括笛卡尔积
  • FRIEND_TEST用于测试私有类成员(针对所有遗留代码)
  • 将断言转变为断点
  • 非致命的断言
  • "开箱即用"googlemock整合
  • 自动测试检测,无需枚举它们
  • 可以禁用和启用测试
  • 可以使用名称模式选择要运行的测试
  • 值/类型参数化测试
  • 用户定义的谓词断言
  • 死亡测试
  • 更丰富的断言
  • 类型断言
  • 在子程序上断言
  • 可以使用<<添加其他调试信息到断言
  • RecordProperty将最后一个属性值发送到XML输出
  • SCOPED_TRACE有助于理解来自子例程或循环内部的断言失败的上下文.
  • xUnit XML输出可以立即由Jenkins显示,而不需要在它们之间进行XSLT转换
  • 支持自定义类型打印机
  • 测试指示消耗的时间(我怀疑CppUnit也可以这样做,但我还没想到它)
  • 测试事件监听器API(用户定义的插件)
  • 测试改组
  • 没有例外和RTTI

假设CppUnit不支持以上所有内容,我是否正确?是否有一个有用的GoogleTest功能在CppUnit中不可用我缺少?

最后但同样重要的是:GoogleTest 缺少哪些优秀的CppUnit功能?

谢谢!

c++ tdd unit-testing cppunit googletest

63
推荐指数
2
解决办法
3万
查看次数

如何在大型C++项目中实现单元测试?

我坚信使用单元测试作为构建大型多平台应用程序的一部分.我们目前正计划在单独的项目中进行单元测试.这有利于保持我们的代码库清洁.但是,我认为这会将测试代码与单元的实现分开.你怎么看待这种方法,有没有像JUnit这样的工具用于c ++应用程序?

c++ unit-testing coding-style

41
推荐指数
2
解决办法
4万
查看次数

提升测试与Google测试框架

我是单元测试世界的新手,基本上我是c ++开发人员,在大型产品上工作了近3年,现在我决定对我的代码进行自动单元测试.为此,我在互联网上做了很多研究并遇到了许多工具和框架,最后选择了以下两个:1)Boost测试库2)c ++的Google测试框架

现在我很困惑哪些可供选择.如果有人使用上述任何一项,请分享您的经验.

boost automated-tests unit-testing googletest

38
推荐指数
3
解决办法
3万
查看次数

C++单元测试库

我遇到了cppunit,但它看起来并不容易使用(也许我看起来并不难,也许是因为C++不能像Java/C#那样工作).有广泛使用的简单替代品吗?

实际上, cppunit是C++的标准单元测试框架吗?

c++ unit-testing cppunit

17
推荐指数
3
解决办法
1万
查看次数

boost.test与CppUnit

我一直在使用CppUnit已经有一段时间了(我很满意).当我们使用boost库的越来越多的部分时,我对boost.test进行了简短介绍,现在我想知道是否应该在新项目中切换到boost.test.

谁能在这里告诉我两个框架之间的差异以及使用boost.test的好处(如果有的话)?

c++ boost cppunit boost-test

14
推荐指数
2
解决办法
1万
查看次数

在 Visual Studio Code 中对本机 C++ 进行单元测试

我一直在 Mac 上使用 Visual Studio Code 开发低级 C++ 库。它似乎非常优雅地与编译器工具链集成。但对于单元测试,我完全迷失了。市面上有无数的框架,但没有一个像 JUnit 那样被建立为标准。此外,Visual Studio Code 单元测试资源管理器的文档非常少。

哪些单元测试框架与代码前端集成得很好?应该如何建立一个单元测试项目?我正在使用 SCons,但如果需要,我可以切换到另一个构建系统。

c++ unit-testing visual-studio-code

11
推荐指数
1
解决办法
2万
查看次数

用C++编写单元测试

可能重复:
c ++单元测试框架的比较

我来自.NET到C++,我想知道是否有关于C++单元测试的最佳文章/信息,以及最常用/最好的框架.

c++ testing frameworks unit-testing

9
推荐指数
2
解决办法
1万
查看次数

测试C的框架

在去年夏天与Ruby,Rails和RSpec合作之后,我学会了TATFT.现在我不能在没有先编写测试的情况下编写代码.

我明年将参加C语言的编程课程,我想学习编写C测试驱动.使用C进行TDD是一个好主意(甚至可能)吗?如果是这样,有没有与C兼容的良好测试框架?

c tdd unit-testing rspec

4
推荐指数
1
解决办法
1698
查看次数

如何在 C++ 中编写单元测试?

我从未为我的 C++ 程序编写过单元测试或任何测试。我只知道它们是为了测试函数/程序/单元是否完全按照您的想法执行,但我不知道如何编写。

有人可以帮我测试我的示例函数吗?测试框架是什么意思?我是为代码的每个功能和所有分支编写测试,还是只为我认为可能棘手的功能编写测试?

doMode(int i) {

int a = fromString<int>(Action[i][1]);
int b = fromString<int>(Action[i][2]);

std::cout << "Parameter:\t" << a << "\t" << b << "\t" << std::endl;
Sleep(200);

return;
}
Run Code Online (Sandbox Code Playgroud)

编辑:我不是在要求一个框架。或者更好:这可能与我的问题有关。我只是不知道从哪里开始以及如何开始。我必须使用的语法是什么?是否因我使用的框架而异?

c++ testing unit-testing

4
推荐指数
2
解决办法
8166
查看次数