【技术实现步骤摘要】
智能合约的测试方法、装置、电子设备及存储介质
本申请涉及区块链
,特别涉及一种智能合约的测试方法、装置、电子设备及存储介质。
技术介绍
随着区块链技术的发展,区块链应用越来越广泛。在区块链系统中,通常可以编写智能合约,通过运行智能合约来实现相应的功能。因而,需要对智能合约进行测试,以保证智能合约的正常运行和业务准确性。由于智能合约具有不可改变性,目前,智能合约的测试方法通常是由开发人员根据智能合约,来编写相应的远程调用RPC接口,通过该RPC(RemoteProcedureCall,远程过程调用)接口来调用智能合约,进行测试步骤。还有一些测试方法是需要开发人员部署remix在线编译器的集成开发环境(IntegratedDevelopmentEnvironment,IDE),通过该remix实现接口函数测试,人工获取智能合约中的账户,进而在IDE中调试智能合约的接口。上述方法中均需要开发人员编写RPC接口或人工获取智能合约中的账户依赖在线编译器实现测试,人工成本高,自动化程度低,无法重复利用,测试用例编写 ...
【技术保护点】
1.一种智能合约的测试方法,其特征在于,所述方法包括:/n根据待测试的智能合约,生成所述智能合约对应的调用接口;/n通过所述调用接口,查询所述智能合约中的至少一个账户;/n根据所述至少一个账户,生成所述智能合约的测试用例;/n根据所述测试用例,对所述智能合约进行测试。/n
【技术特征摘要】
1.一种智能合约的测试方法,其特征在于,所述方法包括:
根据待测试的智能合约,生成所述智能合约对应的调用接口;
通过所述调用接口,查询所述智能合约中的至少一个账户;
根据所述至少一个账户,生成所述智能合约的测试用例;
根据所述测试用例,对所述智能合约进行测试。
2.根据权利要求1所述的方法,其特征在于,所述通过所述调用接口,查询所述智能合约中的至少一个账户,包括:
通过所述调用接口,调用所述智能合约中的账户信息;
从所述账户信息中查询,得到所述智能合约的至少一个账户。
3.根据权利要求2所述的方法,其特征在于,所述至少一个账户的数量为多个,多个账户包括用户账户和平台账户;
所述从所述账户信息中查询,得到所述智能合约的至少一个账户,包括:
查询所述账户信息中账户的账户类型,得到所述智能合约中的用户账户和平台账户。
4.根据权利要求3所述的方法,其特征在于,所述测试用例包括正常转让的测试用例和异常转让的测试用例;所述正常转让的测试用例用于指示将所述平台账户的资产转移至所述用户账户;所述异常转让的测试用例用于指示将所述用户账户的资产转移至所述平台账户;
所述根据所述至少一个账户,生成所述智能合约的测试用例,包括:
根据所述用户账户和所述平台账户,生成所述智能合约的异常转让的测试用例,所述异常转让的测试用例包括的资产转移的期望结果为转移失败;
根据所述用户账户和所述平台账户,生成所述智能合约的正常转让的测试用例,所述正常转让的测试用例包括的资产转移的期望结果为转移成功。
5.根据权利要求4所述的方法,其特征在于,所述根据所述测试用例,对所述智能合约进行测试,包括:
根据所述正常转让的测试用例和异常转让的测试用例,通过所述智能合约的调用接口,触...
【专利技术属性】
技术研发人员:陈金龙,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。