{"id":18621280,"url":"https://github.com/sofastack/sofa-acts","last_synced_at":"2025-04-05T21:09:56.525Z","repository":{"id":37171137,"uuid":"172445125","full_name":"sofastack/sofa-acts","owner":"sofastack","description":"ACTS is a white box testing framework based on data model drivers.","archived":false,"fork":false,"pushed_at":"2023-12-01T12:14:57.000Z","size":444,"stargazers_count":306,"open_issues_count":24,"forks_count":86,"subscribers_count":29,"default_branch":"master","last_synced_at":"2025-03-29T20:07:17.270Z","etag":null,"topics":["sofa-acts","sofa-boot","sofastack","testing-framework","visualization-tools","whitebox-testing"],"latest_commit_sha":null,"homepage":"https://www.sofastack.tech/sofa-acts/docs/Home","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sofastack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-25T06:11:45.000Z","updated_at":"2024-11-07T12:22:22.000Z","dependencies_parsed_at":"2024-11-11T19:15:30.058Z","dependency_job_id":null,"html_url":"https://github.com/sofastack/sofa-acts","commit_stats":null,"previous_names":["alipay/sofa-acts"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofastack%2Fsofa-acts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofastack%2Fsofa-acts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofastack%2Fsofa-acts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofastack%2Fsofa-acts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sofastack","download_url":"https://codeload.github.com/sofastack/sofa-acts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247399885,"owners_count":20932880,"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":["sofa-acts","sofa-boot","sofastack","testing-framework","visualization-tools","whitebox-testing"],"created_at":"2024-11-07T04:10:09.646Z","updated_at":"2025-04-05T21:09:56.506Z","avatar_url":"https://github.com/sofastack.png","language":"Java","readme":"# ACTS\n[![Build Status](https://travis-ci.org/alipay/sofa-acts.svg?branch=master)](https://travis-ci.org/alipay/sofa-acts)\n[![codecov](https://codecov.io/gh/alipay/sofa-acts/branch/master/graph/badge.svg)](https://codecov.io/gh/alipay/sofa-acts)\n![License](https://img.shields.io/badge/license-Apache--2.0-green.svg)\n\nACTS 是基于数据模型驱动测试引擎的的新一代测试框架，它的数据以 YAML 为载体，在此上构建基于数据模型的驱动引擎，适配 TestNg+SOFABoot 的测试上下文环境；支持高效、标准化构建用例，可视化编辑测试数据，精细化校验结果数据和自动清理 DB 数据，可以有效降低人工录入用例数据的成本，同时支持 API 重写提高测试代码的可扩展可复用性，提供特有注解提高测试代码编排的灵活性。\n# 一、背景\n保证代码质量、提高测试效率一直以来是测试人员关注的重点。目前现有测试框架依赖人工编写大量代码来组织测试数据、调度业务、控制校验点和清理DB数据，使得数据和代码耦合在一起，难以达到精细化校验，同时测试代码体积膨胀过快，可复用性降低，开发测试人员编写测试用例的效率难以提升。\n为了提高测试用例编写效率和数据校验的完整、准确和精细化，蚂蚁金服基于 TestNg 研发了 ACTS 测试框架来解决上述问题。\n# 二、功能简介\nACTS 提供了下面的能力：\n## 2.1 数据可视化编辑\n框架实现了测试数据与测试代码的分离，同时配套提供可视化编辑器 ACTS IDE，通过 ACTS IDE 可以快速地录入、查看和管理用例数据，有效减少重复性的数据准备代码。\n## 2.2 精细化校验\n为了提高方法返回值、DB 变更数据等期望数据值的填写效率和减少检验点遗漏，框架提供了预跑返填功能;在 ACTS 规则标签的标记下，实现期望 DB 数据、期望结果等精细化校验。\n## 2.3 丰富的数据API\nACTS 数据自定义 API 接口封装于 ActsRuntimeContext 类里，可快速获取和设置自定义参数、用例入参、期望结果等，满足用户对用例数据的自定义操作；\n## 2.4 自定义引擎各阶段\n为了提高 ACTS 的灵活可扩展性，框架的 ActsTestBase 测试基类对外暴露各个执行阶段方法，包括 prepare，execute，check，clear 等，例如在测试类中，通过重写 process 方法可将整个测试脚本重新编排。\n## 2.5 统一配置能力\n配置文件中提供丰富的配置能力以定制化框架的个性需求。\n# 三、快速开始\n请查看文档中的[快速开始](https://www.sofastack.tech/sofa-acts/docs/GettingStarted)来了解如何快速上手使用 ACTS。\n# 四、如何贡献\n在贡献代码之前，请阅读[参与贡献](https://www.sofastack.tech/sofa-acts/docs/Contributing)来了解如何向 ACTS 贡献代码。\nACTS 的编译环境的要求为 JDK7 或者 JDK8，需要采用 Apache Maven 3.2.5 或者更高的版本进行编译。\n# 五、感谢\nACTS 源于蚂蚁金服内部众多测试技术人员的经验总结，同时汲取了蚂蚁内部其他优秀白盒测试产品的设计优点，感谢这些工作者们的辛勤付出。\n# 六、示例\nACTS 入门[使用示例](https://github.com/alipay/sofa-acts/tree/master/acts-sample)。\n# 七、文档\n请参考 ACTS [用户使用手册](https://www.sofastack.tech/sofa-acts/docs/Usage-Ready)。","funding_links":[],"categories":["测试"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsofastack%2Fsofa-acts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsofastack%2Fsofa-acts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsofastack%2Fsofa-acts/lists"}