Let’s jump in.
This is a test runner for Node.js. It provides a concise API, support for new language features, process isolation and thorough error output. AVA works best when used to test Node.js modules and server applications. Minimalistic style, fast speed, straight-forward test syntax and capability to run tests simultaneously are some of the top features of AVA. Along with that, AVA also supports for observables and async functions. On a different note, AVA is not the ideal option when testing UI applications.
Luna requires no configuration and is an opinionated framework. It is exclusively used for unit testing and helps developers in running their initial unit tests in a matter of minutes only. You don’t need to install any module to general code coverage reports with Luna. Luna also supports parallel running of test groups. Partially Luna was the result of inspiration from Google’s Go language built-in testing feature. All tests for Luna are written as ES6 modules and tests run in browsers. Unfortunately, Luna does not support older browsers.