From what I understand about testing in Javascript, test runners like Karma are used to run the tests written in test frameworks like Mocha.
Now, my question is, how do tests execute when I input a command like mocha in my npm project without having Karma?
Is my understanding of these testing terms faulty or is there something that I am missing here?
Note: I have read that Karma is used to run tests on various browsers as well as various devices. But then how is Mocha different from it? Is it just that Mocha's output is on the terminal while Karma outputs on the browser??