加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

测试C框架

发布时间:2020-12-16 10:15:20 所属栏目:百科 来源:网络整理
导读:在去年夏天使用 Ruby,Rails和RSpec做了一些工作后我学到了 TATFT.现在我不能在没有先编写测试的情况下编写代码. 我明年将参加C语言的编程课程,我想学习编写C测试驱动.使用C进行TDD是一个好主意(甚至可能)吗?如果是这样,有没有与C兼容的良好测试框架? 解决
在去年夏天使用 Ruby,Rails和RSpec做了一些工作后我学到了 TATFT.现在我不能在没有先编写测试的情况下编写代码.

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

解决方法

Is it a good idea (or even possible) to do TDD with C?

是的,与其他语言一样,这显然是一个好主意.但是,由于语言的程序性,它带来了一些更多的困难.

>静态功能很快就会受阻.这可以通过包含测试中的源文件,或者在编译生产代码时定义仅表示静态的STATIC宏来解决 – 而不是单元测试

#if defined(UNIT_TEST)
#define STATIC
#else
#define STATIC static
#endif

>没有孤立:只有一个全局背景.使用OO语言,您可以实例化一个对象(或一组协作对象)来测试它们(它们),您也可以使用模拟对象.
但是,使用C,您可以通过在单元测试中重新定义函数来覆盖函数.这在类似Unix的系统上工作正常,链接器调用他发现的第一个函数 – 我不确定在Windows上.

If so,are there any good testing
frameworks compatible with C?

您可以从minunit开始小.学习曲线是平坦的,因为它只有四个宏长.

编辑:有两个用于C语言的UT框架列表,在其他答案中提到,我没有重复:one on Wikepedia和another one on xprogramming.com.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读