2016-06-07 7 views
1

Ich verwende Nemo Selenium-Tests in Mocha, die funktioniert gut zu laufen, weil Nemo als Modul funktioniert nur, dass ich in meinen Tests importieren und kann nur tun,Wie kann ich Tests in einem Browser-Kontext neben meinen regulären Tests durchführen, die ein Selenium-Framework und Mocha verwenden?

mocha tests/*.js 

Aber ich habe einige Funktionen ausführen, die ich Ich mag Unit-Test neben meinen Selenium-Tests, die DOM-Funktionen wie document.createElement verwenden, also muss ich sie in einem Browser-Kontext ausführen. Ich sah in PhantomJS für diese, aber ich konnte keine Antworten finden, die PhantomJS als Modul (wie Nemo) verwendet wird, und stattdessen erforderlich Sie so etwas wie

phantomjs tests/*.js 

Gibt es eine Möglichkeit Phantom zu importieren zu tun in meine regulären Tests und verwende es einfach als Modul statt in der Befehlszeile? Oder vielleicht komme ich gerade in die falsche Richtung?

Antwort

1

Angeblich bietet PhantomJS keine Möglichkeit, es als Modul zu benötigen (wie Sie auch in der FAQ finden können).


Tatsächlich gibt es ein Knotenmodul namens phantomjs-node, die eine Brücke zwischen PhantomJS und Ihre Unit-Tests schaffen.

Dieses Modul wird grundsätzlich eine phantomjs-Instanz erzeugen, Ihren Test ausführen und die Ergebnisse an Ihren Komponententest übergeben, damit Sie sie bestätigen können.