如何在没有每次部署的情况下测试合同?

时间:2018-09-04 17:05:50

标签: blockchain solidity remix

4天前,我开始学习固执。 每当我执行以下步骤时:

1-打开混音Solidity Ide网站 2-设置ropsten测试网络(注入web3) 3-部署 4-一些使用web3 js的编码 5-尝试从我的前端应用或混音站点中的蓝色/红色按钮拨打一些电话

一切似乎都可以正常工作,但是例如,如果编译器无法在代码中找到错误,但是我弄错了某些逻辑,则需要使用其kill函数杀死现有合同,然后通过编辑部署新合同。

我知道单元测试有松露,我希望将来使用,但是我需要一个“手动”测试来重现与metamask的手动交互。

2 个答案:

答案 0 :(得分:2)

  

一切似乎都可以正常工作,但是例如,如果编译器无法在代码中找到错误,但是我弄错了某些逻辑,则需要使用其kill函数杀死现有合同,然后通过编辑部署新合同。

     

但是我需要一个“手动”测试来重现与metamask的手动交互。

通常,开发人员从testrpc(现更名为ganache)开始,这是一个本地模拟以测试其功能合同。

如果您正在使用remix ide,则javascript VM也可以用于更快的测试迭代。

我建议仅在上述任何一种测试方法产生良好效果后,才切换到与Metamask进行手动交互。这样可以节省大量时间来取消合同的取消和重新部署。

另外,如果您打算过渡到松露,最好立即开始,因为它提供了使用Mocha样式脚本进行测试驱动的开发,该脚本可以在javascript中完成。

答案 1 :(得分:0)

您应使用本地以太坊节点在计算机上进行测试。我推荐ganache。启动后,您可以在本地连接它,例如HTTP://127.0.0.1:7545。 `