Skip to content

Commit b4e0292

Browse files
rootroot
authored andcommitted
本地测试文档
1 parent 879f18d commit b4e0292

1 file changed

Lines changed: 232 additions & 0 deletions

File tree

Lines changed: 232 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,232 @@
1+
# HugeGraph 工具链本地测试指南
2+
3+
本指南帮助开发者高效地在本地环境下运行 HugeGraph 工具链相关测试,涵盖各子项目的编译、依赖服务安装、测试与覆盖率报告生成等流程。
4+
5+
## 0. 变量与环境说明
6+
7+
- **$COMMIT_ID**:指定 HugeGraph Server 版本的 commit id,需提前设置。例如:`export COMMIT_ID=f838897`
8+
- **$DB_DATABASE / $DB_PASS**:MySQL 数据库名和密码,建议在 shell 中设置环境变量。
9+
- **如遇脚本权限问题,先执行**`chmod +x hugegraph-*/assembly/travis/*.sh`
10+
- **所有测试依赖Server正常运行,请检查相关配置**
11+
- **HugeGraph-Client 用于连接 HugeGraph-Server,工具链中其他测试均依赖Client**
12+
13+
## 1. 测试前准备
14+
15+
- **操作系统**:建议 Linux, macOS。Windows 平台请使用 WSL2
16+
- **JDK**:>=11
17+
- **Maven**:建议 3.5 及以上
18+
- **Python**:>=3.11(Hubble 相关测试需用)
19+
20+
## 2. 克隆代码仓库
21+
22+
```bash
23+
git clone https://github.com/${GITHUB_USER_NAME}/hugegraph-toolchain.git
24+
cd hugegraph-toolchain
25+
```
26+
27+
## 3. Maven 配置文件设置
28+
29+
如需使用 staged maven 仓库:
30+
31+
```bash
32+
cp $HOME/.m2/settings.xml /tmp/settings.xml
33+
mv -vf .github/configs/settings.xml $HOME/.m2/settings.xml
34+
```
35+
36+
---
37+
38+
## hugegraph-loader 本地测试
39+
40+
### 1. 编译
41+
42+
```bash
43+
mvn install -pl hugegraph-client,hugegraph-loader -am -Dmaven.javadoc.skip=true -DskipTests -ntp
44+
```
45+
46+
### 2. 依赖服务安装
47+
48+
```bash
49+
hugegraph-loader/assembly/travis/install-hadoop.sh
50+
hugegraph-loader/assembly/travis/install-mysql.sh $DB_DATABASE $DB_PASS
51+
hugegraph-loader/assembly/travis/install-hugegraph-from-source.sh $COMMIT_ID
52+
```
53+
> 若已安装 HugeGraph Server,可跳过最后一步install-hugegraph,并确保 http/https 端口(默认 8080/8443)服务已启动。
54+
55+
### 3. 运行测试
56+
57+
```bash
58+
cd hugegraph-loader
59+
mvn test -P unit -ntp
60+
mvn test -P file
61+
mvn test -P hdfs
62+
mvn test -P jdbc
63+
mvn test -P kafka
64+
```
65+
66+
*请在hdfs测试运行中确保hadoop的datanode正常进行,确保数据正常操作*
67+
68+
### 4. 生成覆盖率报告
69+
70+
```bash
71+
mvn clean test jacoco:report
72+
# 用浏览器打开 target/site/jacoco/index.html 查看详细覆盖率
73+
```
74+
75+
---
76+
77+
## hugegraph-hubble 本地测试
78+
79+
> 需 Python >=3.11,建议使用虚拟环境:
80+
> ```bash
81+
> python3.11 -m venv venv && source venv/bin/activate
82+
> ```
83+
84+
### 1. 编译
85+
86+
```bash
87+
mvn install -pl hugegraph-client,hugegraph-loader -am -Dmaven.javadoc.skip=true -DskipTests -ntp
88+
cd hugegraph-hubble
89+
mvn -e compile -Dmaven.javadoc.skip=true -ntp
90+
```
91+
92+
### 2. 依赖服务安装
93+
94+
```bash
95+
python -m pip install -r hubble-dist/assembly/travis/requirements.txt
96+
mvn package -Dmaven.test.skip=true
97+
cd apache-hugegraph-hubble-incubating*/bin
98+
./start-hubble.sh -d
99+
./stop-hubble.sh
100+
cd ../../../
101+
hubble-dist/assembly/travis/install-hugegraph.sh $COMMIT_ID
102+
```
103+
> 若已安装 HugeGraph Server,可跳过最后一步install-hugegraph,并确保 http/https 端口(默认 8080/8443)服务已启动。
104+
105+
### 3. 运行测试
106+
107+
```bash
108+
cd hugegraph-hubble
109+
mvn test -P unit-test -pl hugegraph-hubble/hubble-be -ntp
110+
hubble-dist/assembly/travis/run-api-test.sh
111+
```
112+
113+
### 4. 生成覆盖率报告
114+
115+
```bash
116+
mvn clean test jacoco:report
117+
# 用浏览器打开 target/site/jacoco/index.html 查看详细覆盖率
118+
```
119+
120+
---
121+
122+
## hugegraph-client 本地测试(Java 版本)
123+
124+
### 1. 编译
125+
126+
```bash
127+
mvn -e compile -pl hugegraph-client -Dmaven.javadoc.skip=true -ntp
128+
```
129+
130+
### 2. 依赖服务安装
131+
132+
```bash
133+
hugegraph-client/assembly/travis/install-hugegraph-from-source.sh $COMMIT_ID
134+
```
135+
> 若已安装 HugeGraph Server,可跳过,并确保 http/https 端口(默认 8080/8443)服务已启动。
136+
137+
### 3. 运行测试
138+
139+
```bash
140+
cd hugegraph-client
141+
mvn test -Dtest=UnitTestSuite -ntp
142+
mvn test -Dtest=ApiTestSuite
143+
mvn test -Dtest=FuncTestSuite
144+
```
145+
146+
### 4. 生成覆盖率报告
147+
148+
```bash
149+
mvn clean test jacoco:report
150+
# 用浏览器打开 target/site/jacoco/index.html 查看详细覆盖率
151+
```
152+
153+
---
154+
155+
## hugegraph-spark-connector 本地测试
156+
157+
### 1. 编译
158+
159+
```bash
160+
mvn install -pl hugegraph-client,hugegraph-spark-connector -am -Dmaven.javadoc.skip=true -DskipTests -ntp
161+
```
162+
163+
### 2. 依赖服务安装
164+
165+
```bash
166+
hugegraph-spark-connector/assembly/travis/install-hugegraph-from-source.sh $COMMIT_ID
167+
```
168+
> 若已安装 HugeGraph Server,可跳过,并确保 http/https 端口(默认 8080/8443)服务已启动。
169+
170+
171+
### 3. 运行测试
172+
173+
```bash
174+
cd hugegraph-spark-connector
175+
mvn test
176+
```
177+
178+
### 4. 生成覆盖率报告
179+
180+
```bash
181+
mvn clean test jacoco:report
182+
# 用浏览器打开 target/site/jacoco/index.html 查看详细覆盖率
183+
```
184+
185+
---
186+
187+
## hugegraph-tools 本地测试
188+
189+
### 1. 编译
190+
191+
```bash
192+
mvn install -pl hugegraph-client,hugegraph-tools -am -Dmaven.javadoc.skip=true -DskipTests -ntp
193+
```
194+
195+
### 2. 依赖服务安装
196+
197+
```bash
198+
hugegraph-tools/assembly/travis/install-hugegraph-from-source.sh $COMMIT_ID
199+
```
200+
> 若已安装 HugeGraph Server,可跳过,并确保 http/https 端口(默认 8080/8443)服务已启动。
201+
202+
203+
### 3. 运行测试
204+
205+
```bash
206+
cd hugegraph-tools
207+
mvn test -Dtest=FuncTestSuite -pl hugegraph-tools -ntp
208+
```
209+
210+
### 4. 生成覆盖率报告
211+
212+
```bash
213+
mvn clean test jacoco:report
214+
# 用浏览器打开 target/site/jacoco/index.html 查看详细覆盖率
215+
```
216+
217+
---
218+
219+
## 常见问题与 FAQ
220+
221+
- 确认所有依赖服务已启动且端口无冲突
222+
- 检查数据库、Hadoop、HugeGraph Server 日志
223+
- 如遇依赖包下载慢,可配置国内 Maven 源
224+
- 如遇端口占用、服务未启动等问题,可通过 `lsof -i:端口号``ps aux | grep hugegraph` 排查
225+
- 常见报错可参考 CI 日志或 issue 区
226+
227+
---
228+
229+
## 参考
230+
231+
- CI 脚本路径:`.github/workflows/*-ci.yml`
232+
- 依赖服务安装脚本:`hugegraph-*/assembly/travis/`

0 commit comments

Comments
 (0)