【问题标题】:How to set up a unit-tested C project in Eclipse如何在 Eclipse 中设置经过单元测试的 C 项目
【发布时间】:2016-04-28 08:47:19
【问题描述】:

我确定这已记录在某处,但我正在努力寻找我所追求的。我正在用 C 语言(并且明确地不是 C++)开发一个项目,并且在使用 JUnit for TDD 开发 Java 项目方面有很好的经验,我想对这个新项目采取类似的方法。

谁能提供一个关于创建和运行一个简单的 C 项目,并在 Eclipse CDT 中对它们运行几个单元测试的演练?我有 Eclipse CDT (Luna) 和frequently referenced blog 中描述的单元测试插件。大多数指南似乎都是针对 C++ 的。

FWIW 我在 Windows 7 上运行并使用 MinGW GCC 进行编译。

【问题讨论】:

  • 您可能需要执行stackoverflow.com/questions/9337757/… 之类的操作才能进行编译。
  • 我从不喜欢 CDT Eclipse,我的体验非常不一致。对于 C/C++ 开发,我更喜欢 Visual Studio (Express) 而不是 Eclipse。
  • @SGM 是的,我曾经喜欢 Visual Studio,尤其是在调试方面,但对于小型可移植项目来说,它感觉很重。我正在尝试 CDT,看看它是否适合 VS 和 Emacs(我以前选择的 C IDE)之间的某个位置。

标签: c eclipse unit-testing


【解决方案1】:

您尝试过google test 吗?它在技术上是一个 c++ 库,但测试函数的开销很小。一个 c++ 测试项目可以很容易地使用从你的 c 代码生成的库,所以应该很容易。

例如,这就是测试的样子

#include "gtest/gtest.h"
#include "MyProject/myFunc.h

TEST (myFuncTest, calculate) { 
    EXPECT_EQ (18.0, myFunc_calculate (324.0));
}

您可以在 YouTube 等上的 IBM Developerworks 找到更多详细信息。

【讨论】:

  • 我想你已经为我确定了一个关键点:即使我的代码是纯 C,单元测试也可能是 C++。
  • 但是对我来说缺少的是如何为 CDT 设置好它? IBM 链接虽然有用,但没有提及 Eclipse。
  • 以这种方式设置一个单独的 C++ 项目,结合davidcozenssoftware.blogspot.com.au/2015/10/… 似乎可以让我到达那里,谢谢。
【解决方案2】:

经过大量研究,我尝试了大多数用于 C 和 C++ 测试的库,其中最适合我的是 Acutest。 我创建了一个带有示例的公共存储库,该示例还使用 Github Actions 和 makefile,以便通过编译代码和测试并在每次推送时自动运行它们来完成持续集成 (CI)。

存储库链接:CPP_Unit_Testing

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
猜你喜欢
  • 2014-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-08
  • 1970-01-01
  • 2017-12-01
  • 2010-09-17
相关资源
最近更新 更多