在 WebStorm 中调试安全帽可靠性测试

问题描述

在控制台中使用 npx hardhat test 运行安全帽测试后,我决定能够设置断点将帮助我更快地迭代。

如何让 Webstorm 运行由 npx hardhat test 启动的底层函数,以便我可以使用内置的调试器?

解决方法

后来我发现安全帽在底层运行 mocha。

要在 WebStorm 中进行调试,您可以:

  1. 删除您现有的配置
  2. 创建新的 mocha 配置
  3. 在“节点选项”中设置任何配置。注意:由于我正在分叉主网,因此测试需要一段时间才能开始,所以我添加了 --timeout 10000,因为 mocha 的默认超时仅为 2000ms
  4. 选择mocha包,WebStorm默认不选择
  5. 设置您的测试文件模式
  6. const {ethers} = require('hardhat'); 添加到您的测试文件中,因为它在运行时不再由安全帽注入。
  7. 如果绿色调试图标没有出现,我就成功关闭并重新打开 WebStorm。

此时我可以在我的测试文件中成功设置断点,但不能在 MyContract.sol 文件中设置。鉴于合约是在运行之前编译的,这并不奇怪。

enter image description here

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...