我正在尝试重写一些旧的C代码,并希望在实际开始重写之前进行一些测试。为此,我看了看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 最佳答案
该测试驱动程序是用C ++编写的。您需要将其编译为C ++,因此将文件重命名为.cpp,并确保调用g++
来驱动编译/链接(而不是gcc
)。
关于c - CppUTest无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5604401/