【问题标题】:Unit Testing C Code [closed]单元测试C代码[关闭]
【发布时间】:2010-09-09 02:41:30
【问题描述】:

今年夏天,我开发了一个用纯 C 语言编写的嵌入式系统。这是我工作的公司接管的现有项目。我已经非常习惯于使用 JUnit 在 Java 中编写单元测试,但是对于为现有代码(需要重构)以及添加到系统中的新代码编写单元测试的最佳方法感到茫然。

是否有任何项目可以使单元测试纯 C 代码像使用 JUnit 单元测试 Java 代码一样简单?任何特别适用于嵌入式开发(交叉编译到 arm-linux 平台)的见解将不胜感激。

【问题讨论】:

  • 看看cmocka.org
  • @zmo — Software Recommendations 是获取软件推荐的 Stack Exchange 站点。我没有使用它,所以我不能说它的效果如何。你应该在发帖之前检查他们的发帖规则。

标签: c unit-testing testing embedded


【解决方案1】:

我刚刚写了Libcut 是因为对现有的 C 单元测试库感到沮丧。它具有基元的自动类型字符串(不需要 test_eq_int、test_eq_long、test_eq_short 等……;只有两个不同的基元和字符串集)并由一个头文件组成。这是一个简短的例子:

#include <libcut.h>

LIBCUT_TEST(test_abc) {
    LIBCUT_TEST_EQ(1, 1);
    LIBCUT_TEST_NE(1, 0);
    LIBCUT_TEST_STREQ("abc", "abc");
    LIBCUT_TEST_STRNE("abc", "def");
}

LIBCUT_MAIN(test_abc);

不过,它只适用于 C11。

【讨论】:

    猜你喜欢
    • 2016-02-23
    • 2010-09-10
    • 2011-01-03
    • 1970-01-01
    • 2010-12-05
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多