From 52e3e44008ef14192aaad2867c08eb91be76e0b8 Mon Sep 17 00:00:00 2001 From: yangjianbo Date: Tue, 30 Dec 2025 10:29:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BF=98=E5=8E=9F=E8=AF=AF=E5=88=A0?= =?UTF-8?q?=E7=9A=84makefile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/Makefile | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 deploy/Makefile diff --git a/deploy/Makefile b/deploy/Makefile new file mode 100644 index 00000000..2c6d5217 --- /dev/null +++ b/deploy/Makefile @@ -0,0 +1,41 @@ +.PHONY: wire build build-embed test-unit test-integration test-e2e test-cover-integration + +wire: + @echo "生成 Wire 代码..." + @cd cmd/server && go generate + @echo "Wire 代码生成完成" + +build: + @echo "构建后端(不嵌入前端)..." + @go build -o bin/server ./cmd/server + @echo "构建完成: bin/server" + +build-embed: + @echo "构建后端(嵌入前端)..." + @go build -tags embed -o bin/server ./cmd/server + @echo "构建完成: bin/server (with embedded frontend)" + +test-unit: + @go test -tags unit ./... -count=1 + +test-integration: + @go test -tags integration ./... -count=1 -race -parallel=8 + +test-e2e: + @echo "运行 E2E 测试(需要本地服务器运行)..." + @go test -tags e2e ./internal/integration/... -count=1 -v + +test-cover-integration: + @echo "运行集成测试并生成覆盖率报告..." + @go test -tags=integration -cover -coverprofile=coverage.out -count=1 -race -parallel=8 ./... + @go tool cover -func=coverage.out | tail -1 + @go tool cover -html=coverage.out -o coverage.html + @echo "覆盖率报告已生成: coverage.html" + +clean-coverage: + @rm -f coverage.out coverage.html + @echo "覆盖率文件已清理" + +clean: clean-coverage + @rm -rf bin/ + @echo "构建产物已清理" \ No newline at end of file