以太坊智能合约-自动测试工具

96
cowkeys
2018.08.31 10:52 字数 645

合约测试工具

前言

以太坊的智能合约编写和部署都比较简单,大多是用solidity语言写好一个合约之后,用truffle、parity等工具直接部署上链,调用的话也是用web3 或者parity类工具直接访问,但是相比较而言,如果用parity这类工具,一定会花大量的时间来同步节点,也有可能同步完之后发现无可用节点做后续工作,让人崩溃,如果用web3js来做测试,也有很大的缺点,如果一个合约有几十个方法接口,那可能需要编写几十个测试用例来进行测试,也不能够像parity工具那样很好的保存和监听节点。

推荐

测试工具github | 测试工具demo

必要:
1 metamask+chrome
2 合约必须在etherscan上进行代码verify,才能自动识别abi。 否则需要自己修改源码,很简单

进入demo可以看到 界面有一个统一接口的tab,其他tab是作者做别的测试的临时入口。
如下图所示:

1 在统一接口里面, 有展示当前metamask钱包的账户地址和当前账户余额
2 可选择main主网络和kovan测试网络(如果需要其他,可以直接自己修改源码)
3 在合约地址上输入需要测试的合约地址,然后点击GET
4 在合约方法 一栏,可以看到已经加载了该合约的所有方法!
5 当选择一个方法之后,在入参列表中就会出现该方法的所有可输入入参
6 入参最后一个参数是value,即eth值,如果需要交易eth,则需要填写(无需管gas费,metamask会做这一点)
7 点击request,结果显示一栏就会出现所有结果,可选择eth展示或者wei展示来 切换bignumber显示。
注意,作者仅供测试,很多细节没有完善,如需修改和优化,可以直接提pr 或者fork,自己修改!

common.png

TODO

(事件类型监听,)
(其他网络支持,自己修改源码就行了)
(出入参的参数类型支持 bytes address uint string 等,但是数组[] 和特定长度的bytes解析等,作者没有仔细完成,如果崩错,可以自己下载源码 npm start)

blockchain
Web note ad 1