当前位置:  开发笔记 > 编程语言 > 正文

测试C的框架

如何解决《测试C的框架》经验,为你挑选了1个好方法。

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

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



1> philant..:

使用C进行TDD是一个好主意(甚至可能)吗?

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

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

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

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


如果是这样,有没有与C兼容的良好测试框架?

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

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

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有