if by called once you mean you want to be sure it has been called at least once by your tests, then you could use coverage which will tell you if each branch of code has been tickled by your tests.
https://www.npmjs.com/package/coverage
----------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files | 95.15 | 79.52 | 100 | 95.09 | |
index.js | 90.6 | 75.38 | 100 | 90.52 |... 44,148,152,156 |
lib.js | 100 | 94.44 | 100 | 100 | 107 |
----------|----------|----------|----------|----------|-------------------|
if you don't get 100 in % Branch, you can look at the index.html report created in the coverage directory to see what was missed.
It's a cracking tool and very easy to use.
If you're using hardhat, instead of
npx hardhat test
it's
npx hardhat coverage
which runs your tests but adds the coverage to it