登录
Contract Test Snippet
分类:工具软件 访问:29 下载量:0

软件介绍

更新时间:2025-04-28

新的介绍内容

Contract Test Snippet是一款专门为Hardhat框架和ethers.js设计的VSCode代码片段,旨在帮助开发者更高效地编写测试文件。通过提供一系列常用函数,简化测试开发流程,提升开发效率。

语言支持:

  • TypeScript

可用代码片段:

  • getRevertMsg:快速生成错误信息字符串。
    前缀:revert, revertMsg, getRevertMsg

    const getRevertMsg = (msg: string): string =>
      `VM Exception while processing transaction: reverted with reason string '${msg}'`;
  • expectRevert:检查交易是否因特定错误信息而回退。
    前缀:er, expectRevert, revert

    await expect().to.be.revertedWith(getRevertMsg("Example Error Msg"));
  • takeSnapshot:创建区块链快照。
    前缀:takesnapshot, tsnapshot

    async function takeSnapshot() {
      return network.provider.send("evm_snapshot", []);
    }
  • revertToSnapShot:回退到指定的快照。
    前缀:rs, revertsnapshot

    async function revertToSnapShot(id: string) {
      await network.provider.send("evm_revert", [id]);
    }
  • advanceTime:增加指定时间。
    前缀:advance, at

    async function advanceTime(time: number) {
      await network.provider.send("evm_increaseTime", [time]);
    }
  • advanceBlock:生成新区块。
    前缀:advance, ab

    async function advanceBlock() {
      await network.provider.send("evm_mine", []);
    }
  • advanceTimeAndBlock:增加时间并生成新区块。
    前缀:advance, atb

    async function advanceTimeAndBlock(time: number): Promise {
      await advanceTime(time);
      await advanceBlock();
      return Promise.resolve(ethers.provider.getBlock("latest"));
    }
  • numberToBytes32Hex:将数字转换为32字节十六进制格式。
    前缀:n2b, number2bytes, nb

    hexZeroPad(hexlify(number), 32);
  • newTestCase:创建新的测试用例。
    前缀:it

    it("", async () => {});
  • newTestCategory:创建新的测试类别。
    前缀:describe

    describe("", () => {});

贡献:

我们欢迎任何形式的贡献来改进这个工具。如果您有任何问题,请创建一个issue。

享受开发!

本站所有资源都是由网友投稿发布,或转载各大下载站, 请自行检测软件的完整性!

本站所有资源仅供学习与参考,请勿用于商业用途,否则 产生的一切后果将由您自己承担!

如有侵权请联系我们删除下架,联系方式:study_golang@163.com

最新教程

查看更多
  • Golang云原生架构师课程
    Golang云原生架构师课程
    Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
  • MySQL数据管理之备份恢复案例解析视频教程
    MySQL数据管理之备份恢复案例解析视频教程
    《MySQL数据管理之备份恢复案例解析视频教程》MySQL是一个开放源码的小型关联式数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
  • MySQL索引优化解决方案
    MySQL索引优化解决方案
    本套课程是根据MySQL索引的设计理念与数据结构、索引使用场景、索引分类、索引运用场景、索引性能分析、查询优化、MySQL索引的慢查询等组成,主要讲述了MySQL索引优化的解决方案,非常适合有MySQL使用基础或者有一定工作经验的同学。课程讲解了解决大数量查询慢的问题、如何编写一个高效的SQL、查询语句应该如何优化、索引的实现原理是什么、索引又应该如何优化...等诸多SQL索引优化的难点和面试点。
  • 极客学院Docker视频教程
    极客学院Docker视频教程
    Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是各大厂商的支持,都使Docker成为了时下最受关注的技术,甚至微软都声称在下一代WindowsServer中集成对Docker的支持。所以我们收集了《极客学院Docke
  • Golang进阶实战编程
    Golang进阶实战编程
    本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
  • JavaScript极速入门
    JavaScript极速入门
    本套课程将帮助大家迅速掌握JavaScript这门高端的、动态的、弱类型编程语言。知识点简单明了,让你学习0压力,适合新手观看学习......