Blockchain 如何在不每次部署的情况下测试契约?

Blockchain 如何在不每次部署的情况下测试契约?,blockchain,solidity,remix,Blockchain,Solidity,Remix,4天前我开始学习“坚固性”。 每次我按照以下步骤操作: 1-开放混音实体Ide站点 2-设置ropsten测试网络(注入web3) 3-部署 4-有些人使用web3 js进行编码 5-尝试从我的前端应用程序或从混音网站的蓝色/红色按钮拨打一些电话 所有这些似乎都可以工作,但例如,若编译器不会在代码中找到错误,但我弄错了一些逻辑,那个么我需要使用kill函数终止现有契约,然后使用edit部署一个新契约 我知道有用于单元测试的块菌,我希望在将来使用,但我需要一个“手动”测试来重现与metamask的

4天前我开始学习“坚固性”。 每次我按照以下步骤操作:

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

所有这些似乎都可以工作,但例如,若编译器不会在代码中找到错误,但我弄错了一些逻辑,那个么我需要使用kill函数终止现有契约,然后使用edit部署一个新契约


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

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

所有这些似乎都可以工作,但例如,若编译器不会在代码中找到错误,但我弄错了一些逻辑,那个么我需要使用kill函数终止现有契约,然后使用edit部署一个新契约

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

通常开发人员从testrpc(现在改名为ganache)开始,它是一种本地模拟,用于测试其功能的契约

如果您使用的是混音ide,那么javascript虚拟机也可以用于更快的测试迭代

我建议在上述任何测试方法产生良好结果后,只切换到与metamask的手动交互。这节省了大量时间来重新执行合同的终止和重新部署


另外,如果您计划转向truffle,最好现在就开始,因为它提供了使用mocha风格脚本的测试驱动开发,可以用javascript本身完成。

Remix有一个内置的javascript VM用于快速迭代否,它将从块0开始在您的机器上部署空区块链。它将只有您的事务和合同,这将为您提供即时事务时间和您想要的测试数量。