以太坊智能合约测试
在测试前你应该理解以太坊Gas和手续费,测试不仅仅要保证业务无错误,还需要使用更可能少的Gas。
测试币
当你需要接入到公共网络中,则需要领一些测试币才能发送交易。一般各种公共测试环境都提供水龙头🚰给你发放测试币。
- Rinkeby faucet
- Kovan faucet
- Ropsten faucet
- Goerli faucet
- Universal faucet
- Nethereum.Faucet - 一个C#/.NET的faucet
测试工具
- Truffle Teams - 用于truffle项目的零配置持续集成
- Solidity code coverage - Solidity代码覆盖工具
- Solidity coverage - 用于Solidity智能合约代码覆盖检查的替代工具
- Solidity function profiler - Solidity合约函数性能分析器
- Sol-profiler - 另一个Solidity智能合约性能分析器
- Espresso - 高速、并行、热从在的solidity测试框架
- Eth tester - 以太坊应用测试工具套件
- Cliquebait - 使用docker简化智能合约应用的集成与测试
- Hevm - 特别用于单元测试和智能合约调试的EVM实现
- Ethereum graph debugger - Solidity 图形化调试器
- Tenderly CLI - 提供容易读懂的栈回溯,加速应用开发
- Solhint - 代码分析器,用于智能合约开发的安全、代码风格及最佳实践规则
- Ethlint - 用于识别和修正solidity中的代码风格和安全问题的代码分析器,前身为Solium
- Decode - 一个NPM包,用于解析提交到本地testrpc节点的交易,以便开发者阅读和理解交易内容
- truffle-assertions - 一个NPM包,包含额外的断言及测试辅助工具,支持事件是否触发的断言。
- Psol - Solidity词法预处理器,使用mustache.js风格的语法,支持宏、条件编译,可自动包含远程依赖
- solpp - Solidity预处理器,包含指令、表达式语言、高精度计算等功能
- Decode and Publish – 解析、发布以太坊裸交易,类似于https://live.blockcypher.com/btc-testnet/decodetx/
- Doppelgänger - 用于单元测试的智能合约依赖模拟库
- rocketh - 测试以太坊智能合约的库,支持自选web库和测试运行期。
- pytest-cobra - PyTest的以太坊智能合约插件