简体   繁体   中英

How to attach debugger to hardhat chai tests in Vscode and use Typescript breakpoints?

I know I can put console.log s in Chai tests and get them printed in console. However, I want to know how can I put a regular breakpoint (or debugger; statement) in Vscode, and hit it, and debug as usual with stepping, evaluation, viewing local variables etc.

How do I truly debug hardhat chai test with breakpoints in Vscode (instead of console.log s)?

As specified in the comments section above, I was in a similar situation, unable to have a breakpoint on chai tests.

There could be multiple ways to debug and I will keep updating the answer as and when I find a new one.

  1. Deploy the contract in the local HardHat node and test as explained in the Theread Answer .
  2. This is the closest answer I came across is as explained in LinkedIn post comment .
    a) Place a breakpoint in the typescript test code.
    b) Run the following command in Javascript Debug Terminal .
    hardhat test [testfoldername]\[testfile].ts \

For debugger in VSCode I have following in my .vscode/launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Hardhat individual test",
            "type": "node",
            "request": "launch",
            "console": "integratedTerminal",
            "runtimeExecutable": "yarn",
            "runtimeArgs": [
                "testhh",
                "${workspaceFolder}/test-hardhat/<testFile>.ts"
            ]
        }
    ]
}

testhh is a name of a script in my package.json , which look like "testhh": "yarn hardhat test --no-compile" . Debugger can then be run via Run and Debug menu.

To add a bit of context to script. I run individual test files with yarn testhh test-hardhat/<testFile>.ts

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM