skip to Main Content

I know I can put console.logs 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.logs)?

2

Answers


  1. 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
    Login or Signup to reply.
  2. 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

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search