美文网首页
测试智能合约

测试智能合约

作者: 唯夜 | 来源:发表于2018-07-04 18:01 被阅读28次

    测试智能合约

    框架

    Truffle 提供了一套标准的自动化测试框架,这就使得测试智能合约变得简单了。
    这个框架允许你以两种不同的方式编写简单和可管理的测试:

    • 使用 JavaScript 编写,从外部来执行你的合约,就像应用一样。
    • 使用 Solidity 编写,进阶的外部执行合约,适用于 bare-to-the-metal(实在不知道怎么翻译) 场景。

    两种测试方法都有各自的优缺点,下面两个板块将会详细讨论。

    测试脚本位置

    所有测测试脚本文件应该在 ./test/ 文件夹下。 truffle 只会运行
    .js .es .es6 .jsx .sol 这些后缀的脚本,其他文件都会被忽略。

    命令

    运行所有测试脚本:

    $ truffle test
    

    指定特定文件运行测试脚本:

    $ truffle test ./path/to/test/file.js
    

    净室环境

    Truffle 提供了一个净室环境来运行你的测试脚本。在针对Ganache或Truffle开发运行测试时,
    Truffle 将使用高级的快照特性,以确保测试文件不会彼此共享状态。当与其他 Ethereum 客户端(如go-ethereum)运行时,
    Truffle 将在每个测试文件开始时重新部署所有迁移,以确保您有一组新的合约要测试。

    速度和可靠性方面的考虑

    在运行测试脚本的时候 Truffle DevelopGanache 都比其他客户端要快。
    此外,它们还包含一些特殊的特性,Truffle利用这些特性将测试运行时间提高了近90%。
    作为一个通用的工作流,我们建议您在正常的开发和测试过程中使用 Ganache 或 Truffle Develop ,
    然后在您准备部署到 live 或生产网络时,对 go-ethereum 或其他 Ethereum 客户端进行一次测试。

    相关文章

      网友评论

          本文标题:测试智能合约

          本文链接:https://www.haomeiwen.com/subject/wokyuftx.html