{"id":20572012,"url":"https://github.com/netease/mebius","last_synced_at":"2025-04-14T17:07:56.970Z","repository":{"id":185547597,"uuid":"673702763","full_name":"NetEase/mebius","owner":"NetEase","description":"精准测试sdk","archived":false,"fork":false,"pushed_at":"2023-08-02T09:34:16.000Z","size":509,"stargazers_count":29,"open_issues_count":2,"forks_count":11,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-14T17:07:52.187Z","etag":null,"topics":["java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NetEase.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-02T08:26:53.000Z","updated_at":"2025-02-11T05:34:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"d6331d5c-0f66-498f-b585-7b977c2b528c","html_url":"https://github.com/NetEase/mebius","commit_stats":null,"previous_names":["netease/mebius"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetEase%2Fmebius","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetEase%2Fmebius/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetEase%2Fmebius/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetEase%2Fmebius/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NetEase","download_url":"https://codeload.github.com/NetEase/mebius/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248923765,"owners_count":21183953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java"],"created_at":"2024-11-16T05:18:02.492Z","updated_at":"2025-04-14T17:07:56.938Z","avatar_url":"https://github.com/NetEase.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [mebius](https://g.hz.netease.com/qa-tech/mebius)\n\n### 一、简介\n\n------\n\n精准测试sdk是基于java语言开发，提供两大核心能力。\n\n- 代码覆盖率统计\n- 代码影响调用链分析\n\n并在此基础上封装成各原子能力，可进行自由编排，旨在以更便捷的方式为赋能。\n\n### 二、SDK使用\n\n------\n\n- 执行SDK打包:\n\n```plaintext\nmvn clean install -Dmaven.test.skip=true\n```\n\n- 平台侧引入：\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.netease\u003c/groupId\u003e\n    \u003cartifactId\u003emebius-client\u003c/artifactId\u003e\n    \u003cversion\u003e1.0.1-SNAPSHOT\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### 三、快速开始\n\n------\n\nanalyzeWithDiff\n\n```java\npublic static void main(String[] args) {\n    GitParam gitParam = new GitParam();\n    gitParam.setGitAccessType(ACCESS_TOKEN);\n    gitParam.setGitAccessToken(\"demo项目git通行令牌\");\n    gitParam.setGitRepoDir(\"demo项目路径\");\n\n    List\u003cProjectParam\u003e projectParams = Lists.newArrayList();\n    ProjectParam projectParam = new ProjectParam();\n    projectParam.setProjectRootPath(\"demo项目根目录\");\n    projectParam.setExecType(ExecType.BRANCH_DIFF);\n    projectParam.setCurrentBranch(\"demo项目当前分支\");\n    projectParam.setCompareBranch(\"demo项目对比分支\");\n    projectParam.setGitParam(gitParam);\n    projectParams.add(projectParam);\n\n    try {\n        List\u003cMethodsCallResult\u003e results = CodeAnalyze.analyzeWithDiff(projectParams, null);\n    } catch (Exception e) {\n        e.printStackTrace();\n    }\n}\n```\n\n#### 更多示例\n\n- [mebius-test](/mebius-test)\n\n#### 四、编排示例\n\n------\n\n###### 代码分析示例：\n\n```mermaid\ngraph TD;\n1(引入sdk)--\u003e2(git仓库拉取代码)\n2--\u003e|CodeOperate.cloneCode|3(maven编译)\n3--\u003e|ProjectCompile.mavenCompile|4(代码变更影响调用链分析)\n4--\u003e|CodeAnalyze.analyzeWithDiff|5(输出影响调用链列表)\n```\n\n###### 覆盖率示例：\n\n```mermaid\ngraph TD;\n1(引入sdk)--\u003e2(服务器dump覆盖率文件)\n1(引入sdk)--\u003e3(git仓库拉取代码)\n1(引入sdk)--\u003e4(maven编译获取class文件)\n2--\u003e|CoverageOperate.dump|5(生成覆盖率报告)\n3--\u003e|CodeOperate.cloneCode|5(生成覆盖率报告)\n4--\u003e|ProjectCompile.mavenCompile|5(生成覆盖率报告)\n5--\u003e|CoverageReport.generate|6(输出报告)\n\n```\n\n### \n\n### 五、工程结构\n\n------\n\n├── action                        // 业务访问入口（每个类代表一类核心功能）\n\n├── constant                   // 常量\n\n├── enums                      // 枚举\n\n├── exception                 // 自定义异常类\n\n├── executor                   // 核心执行处理器\n\n├── model                       // 数据模型\n\n├── utils                           // 工具类\n\n### 六、功能点清单\n\n------\n\n- [代码静态分析](docs/codeAnalyze.md)\n\n  - [多工程影响调用链分析](docs/analyzeWithDiff.md)\n  - [多工程指定类、方法影响调用链分析](docs/analyzeWithSpecify.md)\n\n- [代码操作](docs/codeOperate.md)\n\n  - [代码diff比较](docs/codeDiff.md)\n  - [Git代码操作](docs/gitOperate.md)\n\n- [覆盖率操作](docs/coverageOperate.md)\n\n- [覆盖率报告](docs/coverageReport.md)\n\n- [工程编译](docs/projectCompile.md)\n\n- [解析工程下mapping Url](docs/urlMappingAnalyze.md)\n\n- 工程中Java文件依赖分析\n\n  \n\n### 七、开源规范\n\n------\n\n对应bug上报、问题咨询和讨论，可以提交issue\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetease%2Fmebius","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetease%2Fmebius","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetease%2Fmebius/lists"}