3

CxxTest文档有一个生成和运行单元测试的 Makefile 示例。我如何为 automake (Makefile.am) 做同样的事情?

4

1 回答 1

2

我通过Makefile.am在一个tests目录中创建它来做到这一点,所有测试代码都在该目录中:

check_PROGRAMS = tests

EXTRA_tests_SOURCES  = test_example1.hpp
EXTRA_tests_SOURCES += test_example2.hpp

tests_SOURCES = runner-autogen.cpp

BUILT_SOURCES = runner-autogen.cpp
MAINTAINERCLEANFILES = runner-autogen.cpp

runner-autogen.cpp: $(EXTRA_tests_SOURCES)
    /path/to/cxxtest/bin/cxxtestgen --runner=ErrorPrinter -o $@ $<

它的作用是编译runner-autogen.cpp成测试程序(称为tests)并使用make check. 如果列出的任何.hpp文件发生更改,它将运行cxxtestgen以重新创建runner-autogen.cpp.

因为runner-autogen.cpp被列为源文件,它将被包含在发布存档中make dist,因此用户不需要 cxxtest 存在,除非他们修改其中一个.hpp文件。

于 2015-09-29T07:05:53.660 回答