【发布时间】:2021-06-25 19:52:12
【问题描述】:
在使用 npx hardhat test
在控制台中运行 Hardhat 测试后,我决定能够设置断点将帮助我更快地迭代。
如何让 Webstorm 运行 npx hardhat test
启动的底层函数,以便我可以使用内置的调试器?
【问题讨论】:
标签: debugging webstorm solidity hardhat
在使用 npx hardhat test
在控制台中运行 Hardhat 测试后,我决定能够设置断点将帮助我更快地迭代。
如何让 Webstorm 运行 npx hardhat test
启动的底层函数,以便我可以使用内置的调试器?
【问题讨论】:
标签: debugging webstorm solidity hardhat
我后来发现安全帽在引擎盖下运行摩卡咖啡。
要在 WebStorm 中进行调试,您可以:
--timeout 10000
,因为 mocha 的默认超时仅为2000ms
const {ethers} = require('hardhat');
添加到您的测试文件中,因为它不再在运行时由安全帽注入。此时我可以成功地在我的测试文件中设置断点,但在 MyContract.sol 文件中没有。这并不奇怪,因为合约是在运行之前编译的。
【讨论】:
*.test.ts
文件中的箭头运行单个测试,是吗?
package.json
文件。test
NPM 运行脚本并保存文件。您的 package.json 应该如下所示。{
"name": "hardhat-project",
"scripts": {
"test": "hardhat test"
},
"devDependencies": {
"@nomiclabs/hardhat-ethers": "2.0.2",
"@nomiclabs/hardhat-waffle": "2.0.1",
"chai": "4.3.4",
"ethereum-waffle": "3.4.0",
"ethers": "5.4.4",
"hardhat": "2.6.0"
}
}
Debug "test"
。我在这里更详细地介绍了这些说明,但这是总体思路。 https://allendefibank.medium.com/how-to-debug-solidity-contracts-in-webstorm-hardhat-2ea0d3c4d582
【讨论】: