Here is what i've understood (please tell me if i am wrong):
- Mocha (mochajs.org) is a testing framework
- Waffle (getwaffle.io) is another testing framework
- chai: This is not a framework, this is a library which contains helpers for assertions
- openzeppelin-test-helpers: This is not a framework: This is just helpers. And some of this helpers are calling chai helpers
Mocha and Waffle syntaxes are very similar and looks like something like that:
describe(... it('...) => ...)
There is something i do not understand: Look at this project:
https://github.com/aave/protocol-v2/blob/master/package.json
I can see both mocha and waffle dependencies.
How is it possible to work with 2 testing frameworks ?
Thanks