我的生成文件:
.PHONY: test-unit test-functional mocha
test: test-unit test-functional
test-unit: SUITE = "unit"
test-unit: mocha
@echo "unit"
test-functional: SUITE = "functional"
test-functional: mocha
@echo "functional"
mocha:
@echo ===== RUNNING TESTS: $(SUITE) =====
我想使用这个 makefile 来运行我的两个测试套件,而无需复制运行套件所需的代码(抽象为mocha
任务)。然而,Make 很聪明,他意识到mocha
已经运行了test-functional
并且不再运行它。
make test
:
===== RUNNING TESTS: unit =====
unit
functional
有没有更好的方法来解决这个问题,也许可以实现类似的抽象,或者标记mocha
因为每次都需要运行?
Use a 罐头食谱 http://www.gnu.org/software/make/manual/make.html#Canned-Recipes对于身体的mocha
任务并将其粘贴到两个测试任务中。
代替
mocha:
@echo ===== RUNNING TESTS: $(SUITE) =====
test: mocha
use
define mocha
@echo ===== RUNNING TESTS: $(SUITE) =====
endef
test:
$(mocha)
....
define mocha =
(or :=
等)对于 make 4.0+ 我相信。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)