When comparing QUnit vs Zombie.js, the Slant community recommends QUnit for most people. In the question“What are the best automated browser testing frameworks?” QUnit is ranked 9th while Zombie.js is ranked 10th. The most important reason people chose QUnit is:
In cases where you want (I know your test cases must be atomic) where you really really want your test cases to run in a specific order, maybe if the current one rely on those of previous case, you can use Qunit by setting QUnit.config.reorder = false and your test cases will run in the order you've provided.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Tests run in the order they're added to the suite
In cases where you want (I know your test cases must be atomic) where you really really want your test cases to run in a specific order, maybe if the current one rely on those of previous case, you can use Qunit by setting QUnit.config.reorder = false and your test cases will run in the order you've provided.
Pro Works really well if performing DOM Testing
All frontend developers already know the ease that jQuery framework has brought to their lives, in handling DOM events and accessing elements. Since Qunit was built as a part of jquery (is even used by jQuery itself for unit testing) hence it makes testing of DOM elements a lot easier.
Pro Extremely easy to start from scratch
Seriously! All you have to do is include the Qunit library from the CDN, then create your Testcases js file, and RUN IT! . Your outputs would be displayed in a pretty little format in your browser.
Pro Runs on Node.js
Zombie is built on node.js, making it very easy to integrate with your project and into your testing toolchain. It only requires JavaScript to run.
Pro Fully featured api based interaction and assertion
The way the api is built makes it very easy to add to your test framework.
Pro Claims to be "Insanely Fast"
It's a lot faster than fully fletched browsers and a lot lighter. Partly because it really only focuses on headless loading of pages along with their JavaScript (not taking really care of rendering or more visual resources).
Cons
Con Testing of Async operations can be a little tough at times.
Qunit, expects us to call the start() function before the Async function itself, and stop() after it stops. This can be a problem when you have no way of knowing, when your function will start or stop (your testing a number of dependent functions)
Con Support has waned
As of August 19, 2016, Zombie hasn't received a commit since January 2016. Issues get comments like "patch welcome".
Con Stale documentation
Full API documentation has been missing since the start, making it frustrating to use.
Con Fails to load many sites
As its JavaScript and DOM engine are mostly "just good enough" and because by design it'll report all errors and stop there, many complex sites will not load properly through Zombie.js.
Con No screen-shot
As it doesn't render the page, you cannot get a screenshot to for testing or reporting test failures.