我想单元测试我的程序(使用C语言),因为我知道这样做的好处,因为它显示了问题出在哪里。单元测试 - 如何去做?
我也喜欢黑盒测试,因为它告诉我程序是否工作(至少对于测试)。
目前,我正在使用Autotest(Autoconf自带)为了不添加依赖项。
在这一点上,我不介意使用更好的框架,但问题是我不想使用不同的框架来进行黑盒和单元测试。是否有可能从单元测试框架运行黑盒测试?我真正想要的是很好的日志输出,准确地说出了什么地方出了问题,在哪里。
我的其他选择是使用Autotest进行单元测试。问题是没有框架。我写了一个小的“测试驱动程序”,它接受要测试的函数的名称和传递给该函数的参数,并调用该函数。问题是我不确定在断言和输出函数的返回值之间使用什么边界(出于记录目的,因为我喜欢Autotest如何给我一个差异)。由于大多数函数都返回列表,所以准备使用具有预期输出的差异(使用自动测试的expout)会更快。
你的程序用什么语言编写? – Mathias 2009-11-25 23:35:35
呃,我不能相信我忘了那个。它以C编写。 – alternative 2009-11-25 23:38:55
如果你会考虑其他框架,维基百科有一个C的单元测试框架列表:http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#C还有一个叫做autounit的产品,它应该与autoconf很好地结合,目前是beta版。 http://autounit.tigris.org/ http://autounit.tigris.org/files/documents/187/171/autounit.html – 2009-11-26 18:42:52