【发布时间】:2020-12-30 03:54:54
【问题描述】:
我在从 makefile 运行“go test”时遇到了问题。这一切背后的想法是启动一个 docker 容器,针对它运行所有测试,然后停止并删除该容器。
容器启动并运行测试,但最后两个命令(docker stop 和 rm)未执行。
Make 返回此消息:
make: *** [test] Error 1
是“go test”终止makefile执行吗?
.PHONY: up down test
up:
docker-compose up
down:
docker-compose down
test:
docker run -d \
--name dev \
--env-file $${HOME}/go/src/test-api/testdata/dbConfigTest.env \
-p 5432:5432 \
-v $${HOME}/go/src/test-api/testdata/postgres:/var/lib/postgresql/data postgres
# runs all tests including integration tests.
go test ./... --tags=integration -failfast -v
# stop and remove container
docker stop `docker ps -aqf "name=dev"`
docker rm `docker ps -aqf "name=dev"`
【问题讨论】:
-
尝试将
|| true添加到行尾以禁止返回代码,看看是否有区别。 -
前缀
go test和-以忽略错误,-go test -
@LaurenzAlbe 这解决了我的问题。非常感谢,周末愉快!
-
@Milag 也可以!我将使用此解决方案,因为输出更明确。
标签: postgresql go testing makefile