title: What's the difference between assertion library, testing framework and testing environment in javascript?
body: <p><a href="http://chaijs.com/" rel="noreferrer">Chai</a> is an assertion library.</p>
  
  <p><a href="http://mochajs.org/" rel="noreferrer">Mocha</a> and <a href="http://jasmine.github.io/" rel="noreferrer">Jasmine</a> are testing frameworks.</p>
  
  <p>and <strong><a href="http://karma-runner.github.io/" rel="noreferrer">Karma</a></strong> is a testing environment.</p>
  
  <p>I've already read <a href="https://stackoverflow.com/questions/24391462/difference-between-available-testing-frameworks-mocha-chai-karma-jasmine-sh">Difference between available testing frameworks: mocha, chai, karma, jasmine, should.js etc</a>.</p>