Wpis ten traktuje jako notatkę odnośnie konfiguracji środowiska pod pisanie testów do JavaScriptu.
Piszemy w Intellij, do uruchomienia testów używamy js-test-driver.
Ściagamy JsTestDriver.jar, wrzucamy do jakiegoś folderu, odpalamy server
java -jar JsTestDriver.jar --port 9876
teraz wchodzimy w przeglądarce na http://localhost:9876/ i klikamy capture
Przeglądarka połączyła się z serwerem, będzie to nasze środowisko do uruchamiania testów. Możliwe jest jednoczesne więcej niż połączenie, wtedy będziemy mieli pewność, że testy przechodzą zarówno na IE7, IE8 oraz innych mniej popularnych przeglądarkach.
Przechodzimy do IDE, domyślnie do głównego folderu wrzucamy JsTestDriver.jar i tworzymy plik konfiguracyjny jsTestDriver.conf, przykładowa zawartość:
server: http://localhost:9876
load:
- src/main/js/*.js
- src/test/js/*.js
Dla Intellij 7 czy tam 8 istniał fikuśny plugin do uruchamiania testów w stylu JUnitu, ale nikomu nie chce się go przystosować do 9 więc trzeba zastosować pewne obejście.
File - Settings - External Tools - Add
Dajemy name JsTestRun, resztę zostawiamy uzupełniając pola
Program: C:\Program Files\Java\jre6\bin\java.exe
tu wiadomo, ścieżka do JRE
Parameters: -jar $ProjectFileDir$\JsTestDriver.jar --tests all
tu w zależności gdzie wrzuciliśmy jara
Working directory: $ProjectFileDir$\
wiadomo
ok, ok
Tworzmy przykładowe klasy i testy (przykłady ze strony projektu)
myapp = {};
myapp.Greeter = function() { };
myapp.Greeter.prototype.greet = function(name) {
return "Hello " + name + "!";
};
GreeterTest = TestCase("GreeterTest");
GreeterTest.prototype.testGreet = function() {
var greeter = new myapp.Greeter();
assertEquals("Hello World!", greeter.greet("World"));
};
klikamy Tools - JsTestRun i otrzymujemy (np dla chrome, IE8), Settings - keymap warto dodać hotkey, w założeniu testy będziemy często uruchamiać.
Total 2 tests (Passed: 2; Fails: 0; Errors: 0) (0,00 ms)
Chrome 8.0.552.215: Run 1 tests (Passed: 1; Fails: 0; Errors 0)
(0,00 ms)
Internet Explorer 8.0: Run 1 tests (Passed: 1; Fails: 0; Errors 0)
(0,00 ms)
i gitara
edit...
jednak komuś się zachciało i dodano wsparcie w Intellij9