2013-06-15 9 views
61

Próbuję nauczyć się chrząkać. Kiedy uruchamiam npm init, otrzymuję monit w procesie tworzenia pliku package.json, który pyta o "polecenie testowe" - nie jestem pewien, jak go wykorzystać lub czego oczekuje. Wygląda na to, że nie jest dobrze udokumentowany. Gdybym pozostawić puste, mam to w wynikowym pliku package.json:co robi "komenda testowa" na npm init

"scripts": { 
    //"test": "echo \"Error: no test specified\" && exit 1" 
    }, 

Czy ktoś może rzucić nieco światła na to, jak skonfigurować skrypt testowy?

+0

Cóż, czy jednostka testuje twoją aplikację? – elclanrs

Odpowiedz

42

Początkowo właściwość scripts w pakiecie.json nie ma nic wspólnego z samym pomrukiem. jej tylko CLI-komenda z KMP, wich będzie uruchamiany po uruchomieniu

$ npm test 

przeczytać więcej na ten temat tutaj: https://npmjs.org/doc/scripts.html

np jeśli przetestować aplikację z grunt & nodeunit można tylko dodać, że do skryptów bloku

"scripts": { 
    "test": "grunt nodeunit" 
} 

a nodeunit-zadanie zostanie uruchomione po uruchomieniu „test npm”

to w zasadzie sprawia, że ​​łatwiej ciągły integracja i tak dalej, jeśli zmienisz swoje podstawowe środowisko testowe.

oczywiście można dodać alias-task jeśli trzeba więcej do zrobienia przed i po testy są prowadzone (np konkatenacji wcześniej, porządki po)

+0

W tym rozszerzeniu możesz zrobić package.json z mnogimi poleceniami w teście npm, tak jakbyś chciał chrząkać i kompilować swój sass, co możesz zrobić - "test": "grunt i kompas kompiluj" –

+0

@SimonPertersen: nie zrobiłbym tak to wygląda. jest tam wtyczka do kompasów. jeśli chcesz uruchomić testy, a następnie kompilować kompas, powinieneś użyć tej wtyczki, zarejestrować zadanie aliasu, które uruchamia ten łańcuch, i pozwolić testowi npm uruchomić swoje zadanie aliasu! – hereandnow78

+0

To był tylko przykład, który mógłbyś wykonać mnóstwo poleceń lub użyć go do innych rzeczy, ponieważ był to tylko w moim przypadku - ale alias zadań jest tylko dla chrząknięcia, czy mogę uruchamiać komendy terminala? –

0

Jak wspomniano w odpowiedzi powyżej można uruchomić komendę próbę, gdy określasz go podczas tworzenia pakietu json z cmd lub ręcznie edytując plik json. Zasadniczo jak w dokumentach npm jest używany do uruchomienia skryptu testowego dostarczonego pakietu.

npm docs test

W moim przypadku, Iam go używać do testowania aplikacji przy użyciu kątową Jasmine (spec.js pliki) przykład użycia można znaleźć w tym artykule: -

Getting Started with Node.js and Jasmine