A:
- For synchronous tests: use describe and it blocks and assertions (e.g. assert.equal(…)).
- For asynchronous tests: provide a done callback or return a Promise. Mocha waits for done() or Promise resolution. The blog shows adding timeouts (e.g. via this.timeout(…)) to handle delays.