首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C++单元测试库

C++单元测试库
EN

Stack Overflow用户
提问于 2010-01-11 05:28:53
回答 6查看 18.2K关注 0票数 20

我遇到过cppunit,但它看起来不太容易使用(可能我没有仔细研究,可能是因为C++不像Java/C#那样工作)。有没有广泛使用的、简单的替代方案?

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

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-01-11 05:31:45

C++没有标准的单元测试库。有很多选择可供选择;cppunit就是其中之一。

在我的公司,我们使用Google Test及其合作伙伴Google Mock进行单元测试和对象模拟。我发现它们结合在一起更容易使用,而且比cppunit强大得多。

票数 22
EN

Stack Overflow用户

发布于 2010-01-11 05:34:14

Google Test框架是一种替代方案。

下面是来自documentation的一个简单示例

代码语言:javascript
复制
// Tests factorial of 0.
TEST(FactorialTest, HandlesZeroInput) {
  EXPECT_EQ(1, Factorial(0));
}

// Tests factorial of positive numbers.
TEST(FactorialTest, HandlesPositiveInput) {
  EXPECT_EQ(1, Factorial(1));
  EXPECT_EQ(2, Factorial(2));
  EXPECT_EQ(6, Factorial(3));
  EXPECT_EQ(40320, Factorial(8));
}

它与谷歌的C++模拟框架gmock配合得也很好。

票数 6
EN

Stack Overflow用户

发布于 2010-01-11 14:11:08

CppUnit可能是C++的第一个单元测试框架。它是著名的Java框架Junit的直接移植。这使得从Junit的转换变得更容易,但代价是一个有点笨重的框架,它没有利用诸如RAII之类的C++功能。这就是为什么像CppUnitLite,NanoCppUnit这样的轻量级版本被创建出来的原因。在其他改进中,CppUnit2应该改进这一点。

Tut过去很轻,只有一个头文件,但最新版本引入了一个库。

就“标准”框架而言,没有一个,C++1X也没有定义一个。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2038705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档