我希望对我的程序(使用C语言编写)进行单元测试,因为我知道这样做的好处,它能够显示出问题所在。
我也喜欢黑盒测试,因为它可以告诉我程序是否正常工作(至少在测试中是这样的)。
目前,我正在使用Autotest(随Autoconf一起提供)来进行测试,以避免添加依赖项。
现在,我不介意使用更好的框架,但问题是我不想为黑盒和单元测试使用不同的框架。是否可能从单元测试框架中运行黑盒测试?我真正想要的是良好的日志输出,精确地指出出了什么问题以及在哪里。
我的另一个选择是使用Autotest进行单元测试。问题是没有框架。我编写了一个小的“测试驱动程序”,接受要测试的函数名称和传递给该函数的参数,并调用该函数。问题是我不确定在断言和输出函数返回值之间要使用什么边界(出于日志记录目的,因为我喜欢Autotest将为我提供差异)。由于大多数函数返回列表,因此使用预期输出(使用Autotest的expout)进行比较会更快。