我们有一个autotools项目,它包含单元测试和集成测试,所有这些都通过'make check'运行.这并不理想,因为一些集成测试需要一段时间,并且具有各种依赖性(数据库等)
我想分离集成测试并为它们分配自己的make目标.这样,单元测试仍然可以经常运行(通过make check),并且可以按照类似的方式根据需要运行集成测试.
是否有直接(或其他)方式添加额外的制作目标?
注意:我可能还应该补充说这是一个大型项目,因此不希望手动编辑/维护每个makefile.如果可能的话,我想做'autotools方式'.
- 更新1 -
我已经尝试过Jon的解决方案,而且距离更近了一步,但并不完全.我还有几个问题:
1)递归 - 我可以在构建树的根目录中修改makefile.am,以及包含测试的任何目录,但似乎应该有一种方法可以在我没有的地方执行此操作更改层次结构中的每个Makefile.am.(毕竟检查目标是这样工作的)
2).PHONY - 我一直在收到有关.PHONY被重新定义的消息.这是可以理解的,因为它是由另一个包(特别是doxygen)设置的.我如何让两人在一起玩得很好?
最近,我一直在阅读一些代码
if (! (a == b) )
Run Code Online (Sandbox Code Playgroud)
代替
if ( a != b )
Run Code Online (Sandbox Code Playgroud)
在某些地方.
显然这些在逻辑上是等价的,但我想知道是否有任何特别的理由使用一个而不是另一个.
在某些情况下,哪一种更可取,还是仅仅是个人风格的问题?