如何构建系统进行单元测试?

时间:2012-06-20 09:42:03

标签: unit-testing ant makefile build-system

当您修补时,例如制作,蚂蚁或任何其他构建工具,你实际上是在编写代码。

为什么没有'MUnit'或'ANTUnit'来测试这些代码?这样做是有道理的,因为项目构建系统中的任何错误都会对使用它的人造成巨大的延迟和挫败感。

一个例子(注意:这可能甚至不起作用 - 未经测试,这不是我的重点):

#makefile v0
all: main.out

main.out: main.o x.o y.o
    g++ $^ -o main.out

%.o: %.cpp
    g++ -Wall $?

但现在我想将我的目标文件放在一个单独的构建文件夹中:

#makefile v1
all: main.out

main.out: $(addprefix build/,main.o x.o y.o)
    g++ $^ -o main.out

build/%o: %.cpp
    g++ Wall $< -o $@

哦,是的!这样可行!承诺!提交!

(但是......持续集成服务器还有没有'build'文件夹......)

哦,不...团队的建设失败了...我应该责怪......愚蠢!

能够指定模拟项目,模拟文件夹结构,然后调用make all,并验证main.out是否存在(并且可以运行),这将是非常好的

所以这里的问题是:

我可以选择“单元测试”我的制作脚本吗?我注定要编写大量的测试shell脚本,或者已经存在了什么?

1 个答案:

答案 0 :(得分:3)

如果您使用的是Ant,则会有AntUnit。我用它并且有效。

我不知道也找不到Make的单元测试框架。你可以考虑创建自己的。