我正在尝试重写一些遗留的C代码,并希望在实际开始重写之前进行一些测试。FOr这个,我看了一下CppUTest,并尝试了一个示例应用程序,它由一个头文件chrtostr.h、一个实现文件chrtostr.c和一个名为test_chrtostr.c的测试文件组成,其内容如下:
#include <CppUTest/CommandLineTestRunner.h>
#include "chrtostr.h"
TEST_GROUP(chrtostr)
{
}
TEST(chrtostr, test_chrtostr)
{
CHECK_EQUAL(chrtostr('n'), "sfsdfds");
}
int main(int ac, char **av)
{
return CommandLineTestRunner::RunAllTests(ac, av);
}和相应的Makefile.am
AUTOMAKE_OPTIONS = foreign
CPPUTEST_HOME = ./cpputest
CFLAGS = -g -Wall -I$(CPPUTEST_HOME)/include
LDFLAGS = -L$(CPPUTEST_HOME)/lib -lCppUTest
bin_PROGRAMS = chrtostr test_chrtostr
chrtostr_SOURCES = chrtostr.c chrtostr.h main.c
test_chrtostr_SOURCES = test_chrtostr.c问题是,每次我尝试运行make时,我都会得到以下回溯,这实际上对我没有太大帮助:http://pastebin.com/BK9ts3vk
发布于 2011-04-09 18:22:34
该测试驱动程序是用C++编写的。您需要将其编译为C++,因此将文件重命名为.cpp,并确保调用g++来驱动编译/链接(而不是gcc)。
发布于 2011-04-09 20:46:42
您可能应该从一个演示开始。您可以看到CppUTest是如何与C一起使用的。我的书“嵌入式C的测试驱动开发”也将帮助您入门。前几章使用了纯C语言的测试工具。后面的示例使用CppUTest (我是CppUTest的作者之一)。我还描述了用于C语言的C++测试工具的优点。
詹姆斯
附注:-有关CppUTest的更多信息,请访问CppUTest.org
发布于 2011-05-26 05:38:45
不幸的是,CppUTest中的"HelloWorld“示例没有文档记录,虽然”嵌入式C的测试驱动开发“中的附录只列出了11个条件检查,但我发现还有更多没有文档记录的助手函数(几乎都没有文档记录)。除非你试图理解测试驱动开发的概念,否则我不推荐使用CppuTest。
我会寻找更多的商业产品,否则你会养成很多TDD的坏习惯,或者变得非常沮丧,然后继续前进。
https://stackoverflow.com/questions/5604401
复制相似问题