NAC_Blockchain/nac-integration-tests/README.md

3.9 KiB
Raw Permalink Blame History

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开发团队