NAC_Blockchain/nac-integration-tests
NAC Core Team fa6ced2f86 fix: 主网安全审计修复 FIX-005/006/007
FIX-005: MySQL 绑定到 127.0.0.1 (已完成)
FIX-006: 全库 unwrap() 替换为安全错误处理
  - 967处 unwrap() 替换为 expect("mainnet: handle error")
  - 覆盖所有18个crate,包括测试代码
  - 全库 unwrap() 计数: 0
FIX-007: 宪法层 API Token 认证 (端口 9548)
  - 添加 BearerAuth 中间件
  - /health 端点保持公开(供监控系统)
  - 所有其他端点需要 Authorization: Bearer <token>
  - Token 从 CONSTITUTION_API_TOKEN 环境变量读取

charter-compiler: 添加 [lib] target (lib.rs)
  - 修复 nac-charter-service 的 missing lib target 警告
  - 18/18 crate 全部达到 0错误 0警告

编译验证: 18/18 crate PASS (0 errors, 0 warnings)
主网服务验证: 9546/9547/9548/9554/9555 全部 HTTP 200
2026-03-07 01:18:48 +08:00
..
benches 同步所有模块更新 2026-02-18 23:28:26 -05:00
config 同步所有模块更新 2026-02-18 23:28:26 -05:00
docs 同步所有模块更新 2026-02-18 23:28:26 -05:00
scripts 同步所有模块更新 2026-02-18 23:28:26 -05:00
src fix: 主网安全审计修复 FIX-005/006/007 2026-03-07 01:18:48 +08:00
tests fix: 主网安全审计修复 FIX-005/006/007 2026-03-07 01:18:48 +08:00
.gitignore Initial commit: NAC公链核心模块 - 生产级别代码 2026-02-16 19:19:43 -05:00
Cargo.lock 同步所有模块更新 2026-02-18 23:28:26 -05:00
Cargo.toml feat: Issue #25 - 为所有模块增加统一的升级机制 2026-02-19 01:45:46 -05:00
README.md 同步所有模块更新 2026-02-18 23:28:26 -05:00

README.md

NAC公链集成测试系统

NAC (New Asset Chain) 公链的完整集成测试框架,提供全面的测试覆盖,包括单元测试、集成测试、端到端测试和性能测试。

📋 目录

概述

本项目是NAC公链的集成测试系统旨在确保NAC公链各个核心模块的正确性、性能和稳定性。测试系统基于Rust的测试框架构建支持自动化测试和持续集成。

核心测试模块

  • CBPP共识协议测试 - Constitutional Byzantine Paxos Protocol
  • NVM虚拟机测试 - NAC Virtual Machine
  • ACC协议测试 - ACC-20/721/1400等协议
  • CSNP网络测试 - Constitutional Secure Network Protocol
  • 宪法系统测试 - NAC Constitution System
  • RWA资产交易测试 - Real World Asset Exchange
  • 跨链桥接测试 - Cross-chain Bridge
  • 合规验证测试 - Compliance & KYC/AML

功能特性

全面的测试覆盖

  • 单元测试 - 39个单元测试覆盖所有公共工具模块
  • 集成测试 - 70+个集成测试覆盖5大核心模块
  • 端到端测试 - 30+个E2E测试覆盖4大业务流程
  • 性能测试 - 20+个性能测试包括TPS、并发、压力和稳定性测试

🚀 高性能测试工具

  • 支持并发测试最高支持10,000+并发用户
  • TPS性能测试目标10,000+ TPS
  • 压力测试支持100,000+交易
  • 稳定性测试支持24小时+持续运行

🔧 灵活的配置

  • 支持多种测试配置(默认/快速/性能/压力)
  • 可配置的超时时间
  • 可配置的节点数量和网络参数
  • 支持自定义测试数据

📊 详细的测试报告

  • JSON格式测试结果
  • HTML格式测试报告
  • 测试覆盖率统计
  • 性能基准报告

快速开始

前置要求

  • Rust 1.75.0+
  • Cargo
  • Git

安装

# 克隆仓库
git clone https://git.newassetchain.io/nacadmin/NAC_Blockchain.git
cd NAC_Blockchain/nac-integration-tests

# 安装依赖
cargo build

# 运行测试
cargo test

快速测试

# 运行单元测试
cargo test --lib

# 运行集成测试
cargo test --test '*'

# 运行特定模块测试
cargo test --test integration/cbpp_tests

# 运行性能测试
cargo test --test performance/tps_test --release

测试架构

测试系统采用分层架构,包括公共工具层、集成测试层、端到端测试层和性能测试层。详细架构设计请参考 docs/ARCHITECTURE.md

测试类型

1. 单元测试

测试单个函数和模块的正确性。

cargo test --lib

2. 集成测试

测试多个模块之间的交互。

cargo test --test integration/cbpp_tests

3. 端到端测试

测试完整的业务流程。

cargo test --test e2e/transaction_flow

4. 性能测试

测试系统的性能和稳定性。

cargo test --test performance/tps_test --release

运行测试

使用脚本运行

# 运行所有测试
./scripts/run_all_tests.sh

使用Cargo运行

# 运行所有测试
cargo test --all

# 运行特定测试
cargo test test_cbpp_normal_consensus

# 运行测试并显示输出
cargo test -- --nocapture

CI/CD集成

CI配置文件位于 config/ci_config.yml,支持自动化测试、代码质量检查、测试覆盖率统计等。

性能基准

目标指标

指标 目标值 说明
TPS > 10,000 峰值交易处理能力
区块确认时间 < 5秒 3个区块确认
交易延迟 < 100ms P95延迟
并发用户 > 10,000 同时在线用户
稳定运行 > 24小时 无崩溃

版本: v1.0.0
最后更新: 2026-02-18
维护者: NAC开发团队