在控制台中运行 Hardhat 测试后,npx hardhat test
我决定能够设置断点将帮助我更快地迭代。
我怎样才能让 Webstorm 运行启动的底层函数,npx hardhat test
以便我可以使用内置的调试器?
从那以后,我发现安全帽在引擎盖下运行摩卡咖啡。
要在 WebStorm 中进行调试,您可以:
--timeout 10000
因为 mocha 的默认超时仅为2000ms
const {ethers} = require('hardhat');
到您的测试文件,因为它不再在运行时由安全帽注入。此时,我可以在我的测试文件中成功设置断点,但不能在 MyContract.sol 文件中设置断点。这并不奇怪,因为合约是在运行之前编译的。
package.json
为您的 Hardhat 项目创建或打开文件。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