用途:面向 Midnight 上的 Compact 智能合约,提供通过模拟器与测试框架进行测试的方法,适用于搭建测试环境、编写合约测试和调试电路行为。
主要能力:使用 ContractSimulator 加载编译后的合约,调用电路并检查账本状态;支持状态验证、错误测试、隐私测试等模式;可覆盖单元、集成、状态、错误、隐私等测试类别;可配合 Jest/Vitest 运行并生成覆盖率。
使用方式:安装依赖 npm install -D @midnight-ntwrk/compact-simulator vitest;创建模拟器 new ContractSimulator(compiledContract);调用电路 await simulator.call('increment', {});断言状态 expect(simulator.ledger.counter).toBe(1n);测试前可用 setNetworkId(NetworkId.Undeployed)。运行:npm test,覆盖率 npm test -- --coverage,指定文件 npm test -- counter.test.ts,监听 npm test -- --watch。参考资料包括 references/simulator-setup.md、references/test-patterns.md、references/debugging.md。
限制与注意:不要测试证明生成,应使用模拟器;单元测试中不要依赖网络;具体安装版本、支持平台和价格等资料暂未提供。