Środowisko testowe dla JavaScript inne niż przeglądarka? [Zamknięte]

12

Kiedy chcę przetestować coś w JavaScript, otwieram nowe okno przeglądarki (głównie Firefox) i zaczynam pisać kod w dostarczonej konsoli (głównie Firebug).

Jednak jest to zwykle bardzo nużące i powolne. Czy istnieje środowisko, na przykład IDE z możliwością samodzielnego wykonywania, w którym możemy przetestować JavaScript?

Przewodnik: szukam czegoś takiego jak jsfiddle, ale nie w przeglądarce i nie online. Chciałbym mieć środowisko wykonawcze, które jest zarówno offline, jak i nie jest przeglądarką.

Proszę tylko o coś w rodzaju Firebug Console jako osobnej aplikacji (najlepiej aplikacji Windows), którą można otworzyć przez dwukrotne kliknięcie, w której można napisać kod JavaScript i uruchomić. To wszystko.

Mówiąc prościej, wszystko czego chcę to konsola Firebug, bez Firefoksa. Czy mamy coś takiego na rynku?

Saeed Neamati
źródło
Znalazłem tę stronę . Ma wiele tych niezależnych powłok dla JavaScript.
Saeed Neamati,

Odpowiedzi:

10

node.js to popularna platforma javascript po stronie serwera.

Ma REPL, który pozwala szybko testować fragmenty. Istnieją również inne narzędzia, które mogą to zrobić, takie jak konsola chrome (używam jej osobiście, szybko i szybko) lub scratchpad Firefoksa 6.

W połączeniu z zombie lub fantomem , które są przeglądarkami bezgłowymi, testowanie staje się prostsze. Możesz łatwo napisać zestaw testów jednostkowych, które współdziałają z twoją witryną.

Raynos
źródło
3

Zobacz sterownik JS-Test-Driver autorstwa Misko Hevery http://code.google.com/p/js-test-driver/wiki/GettingStarted

JavaScript jest językiem implementowanym w przeglądarkach, więc aby przetestować go na zewnątrz, potrzebna jest jego pełna implementacja.

Ale JS-Test-Driver „przechwytuje” przeglądarkę, dzięki czemu cały proces jest nieco łatwiejszy i bardziej automatyczny.

Yam Marcovic
źródło
2

Selenium automatyzuje przeglądarki.

A htmlUnit zapewnia funkcjonalność testowania javascript dla Java.

Nim Chimpsky
źródło
1

Jeśli chcesz tylko języka JavaScript , Rhino lub V8 działają jako środowiska wiersza poleceń, wraz z REPL. Większość edytorów programistów umożliwia wysyłanie treści tekstowych do procesu wiersza polecenia.

Z drugiej strony, jeśli chcesz przetestować środowisko podobne do przeglądarki, wraz z drzewem DOM, możesz wypróbować env.js , oryginalnie autorstwa Johna Resiga (tak, facet jQuery).

Javier
źródło
Powiedziałbym, że biblioteki takie jak jsdom są lepszą alternatywą dla env.js.
Raynos,
1

Jak wspomnieli inni, node.js jest fantastyczny do testowania Javascript. Chcę tylko dodać, że testy w Firebug mogą mieć nieoczekiwane wyniki. W rzeczywistości wejście Firebug jest evaledytowane, co nie jest dokładnie tym samym, co wykonanie kodu. Na przykład wszystkie zmienne są tworzone bez [[DontDelete]]flagi. Ten post wyjaśnia sprawę bardziej szczegółowo.

Andrea
źródło
1

Jeśli chodzi o testy rdzenia javascript, możesz rozważyć Rhino , projekt Mozilli . Jest znacznie lżejszy niż nodejs, ponieważ Rhino jest implementacją tylko języka podstawowego. Ale Rhino nie przyda się do manipulacji HTML jako Firebug.

sransara
źródło