在使用npx hardhat test在控制台中运行Hardhat测试后,我决定能够设置断点将有助于我更快地迭代。如何让Webstorm运行npx hardhat test启动的底层函数,以便使用内置的调试器?
npx hardhat test
hkmswyz61#
后来我发现安全帽在引擎盖下运行摩卡咖啡。要在WebStorm中进行调试,您可以:1.删除现有配置1.创建一个新的mocha配置1.在“节点选项”中设置任何配置。注意:因为我分叉了主网,所以测试开始需要一段时间,所以我添加了--timeout 10000,因为mocha的默认超时只有2000ms1.选择mocha包,默认情况下WebStorm不选择它1.设置测试文件模式1.将const {ethers} = require('hardhat');添加到测试文件中,因为它在运行时不再由hardhat注入。1.如果绿色的调试图标没有出现,我就成功地关闭并重新打开了WebStorm。此时,我可以在测试文件中成功设置断点,但在MyContract.sol文件中无法设置断点,这并不奇怪,因为合约是在运行之前编译的。
--timeout 10000
2000ms
const {ethers} = require('hardhat');
wlsrxk512#
1.创建或打开Hardhat项目的package.json文件。1.添加一个test NPM运行脚本并保存文件。您的package.json应该看起来像这样。
package.json
test
{ "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" } }
1.在编辑器窗格的左侧槽中,应该会出现一个小的播放图标,单击它,然后单击Debug "test"。我在这里更详细地介绍了说明,但这是大致的想法。
Debug "test"
hrysbysz3#
如果你使用的是typescript,你需要导入**ts-mocha**而不是 mocha
3条答案
按热度按时间hkmswyz61#
后来我发现安全帽在引擎盖下运行摩卡咖啡。
要在WebStorm中进行调试,您可以:
1.删除现有配置
1.创建一个新的mocha配置
1.在“节点选项”中设置任何配置。注意:因为我分叉了主网,所以测试开始需要一段时间,所以我添加了
--timeout 10000
,因为mocha的默认超时只有2000ms
1.选择mocha包,默认情况下WebStorm不选择它
1.设置测试文件模式
1.将
const {ethers} = require('hardhat');
添加到测试文件中,因为它在运行时不再由hardhat注入。1.如果绿色的调试图标没有出现,我就成功地关闭并重新打开了WebStorm。
此时,我可以在测试文件中成功设置断点,但在MyContract.sol文件中无法设置断点,这并不奇怪,因为合约是在运行之前编译的。
wlsrxk512#
1.创建或打开Hardhat项目的
package.json
文件。1.添加一个
test
NPM运行脚本并保存文件。您的package.json应该看起来像这样。1.在编辑器窗格的左侧槽中,应该会出现一个小的播放图标,单击它,然后单击
Debug "test"
。我在这里更详细地介绍了说明,但这是大致的想法。
hrysbysz3#
如果你使用的是typescript,你需要导入**ts-mocha**而不是 mocha