我目前正在开发一个使用自动工具生成生成文件的项目。像往常一样,这个 makefile 支持 make check
, 运行整个测试套件。但是,我正在处理程序的一小部分,其中只应用了几个单元测试。是否有可能,使用 make check
,运行单个单元测试或单元测试选择,而不是整个套件?
编辑:
Evan VanderZee suggests这取决于目录结构,所以让我再解释一下目录结构。这个项目的目录结构非常平坦。大多数源文件位于 src/
目录,其中一些分组在 src/
下的子目录中.单元测试位于 src/tests
.没有一个源目录包含 Makefile。顶层只有一个 makefile(由 configure 生成)。
最佳答案
如果您使用 Automake 的 TESTS
变量列出 make check
的测试运行,然后有一个简单的快捷方式:make check TESTS='name-of-test1 name-of-test2'
TESTS
在命令行中传递的变量会覆盖 Makefile 中的变量。
或者,export TESTS='names-of-tests'; make -e check
取 TESTS
的值从环境。
如果您不使用 TESTS
而是 check-local
或其他一些目标,那么这将不起作用。
关于unit-testing - Autotools:如何使用 make check 运行单个测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38411619/