We’re using PhantomJS because it is Grunt’s preferred browser for anything automated that needs one. Like running JS Tests.
What is PhantomJS?
PhantomJS is a headless webkit browser. What does that mean? Well, it’s a webkit browser (like Chrome and Safari) that doesn’t have a visible interface.
Why use PhantomJS?
Because it gives you most of the benefits of running tests in a browser but it goes much faster and less intrusive. I say most because it is not designed to emulate the quirks of a particular mainstream browser, it is its own thing. However, because it is webkit it has a lot in common with others in that family.
Unfortunately this JS Test Driver vs Phantom debate was something I had very little to do with, so I have no real thoughts on that.
That’s all I really have to say on the matter, if I had much direct interaction with it I’d probably like it less. Its real beauty is in how little I have to do because of it.