„Jasmine (JavaScript)“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
Keine Bearbeitungszusammenfassung |
Infobox-Befüllung per Wikidata |
||
Zeile 4: | Zeile 4: | ||
| Beschreibung = Jasmine 2 im Selbsttest |
| Beschreibung = Jasmine 2 im Selbsttest |
||
| Hersteller = Pivotal Labs (EMC Corporation) |
| Hersteller = Pivotal Labs (EMC Corporation) |
||
| Erscheinungsjahr = |
| Erscheinungsjahr = <!-- Wikidata --> |
||
| AktuelleVersion = |
| AktuelleVersion = <!-- Wikidata --> |
||
| AktuelleVersionFreigabeDatum = |
| AktuelleVersionFreigabeDatum = <!-- Wikidata --> |
||
| Betriebssystem = [[Plattformunabhängigkeit|plattformunabhängig]] |
| Betriebssystem = [[Plattformunabhängigkeit|plattformunabhängig]] |
||
| Programmiersprache = [[JavaScript]] |
| Programmiersprache = [[JavaScript]] |
||
Zeile 15: | Zeile 15: | ||
}} |
}} |
||
'''Jasmine''' (Jasmine Core) ist eine [[Freie Software|freie]] [[Modultest]]-[[Programmbibliothek|Bibliothek]] für [[JavaScript]]. Jasmine ist auf jeder JavaScript-fähigen [[Softwareplattform|Plattform]] ausführbar (insbesondere ohne Web-Browser bzw. [[Document Object Model]]) und erfordert keine Anpassung des Prüfsystems ([[System Under Test]]). Die sehr einfach gehaltene Testbeschreibungssprache lehnt sich an die Testfall-Notation des [[Behavior Driven Development]] (BDD) an. Großen Einfluss auf die Entwicklung hatten andere Modultest-Bibliotheken wie ScrewUnit, JSSpec, JSpec und RSpec.<ref>{{Internetquelle | url=https://github.com/pivotal/jasmine/wiki/Background | titel=Background. Why Another JavaScript TDD/BDD Framework? | |
'''Jasmine''' (Jasmine Core) ist eine [[Freie Software|freie]] [[Modultest]]-[[Programmbibliothek|Bibliothek]] für [[JavaScript]]. Jasmine ist auf jeder JavaScript-fähigen [[Softwareplattform|Plattform]] ausführbar (insbesondere ohne Web-Browser bzw. [[Document Object Model]]) und erfordert keine Anpassung des Prüfsystems ([[System Under Test]]). Die sehr einfach gehaltene Testbeschreibungssprache lehnt sich an die Testfall-Notation des [[Behavior Driven Development]] (BDD) an. Großen Einfluss auf die Entwicklung hatten andere Modultest-Bibliotheken wie ScrewUnit, JSSpec, JSpec und RSpec.<ref>{{Internetquelle | url=https://github.com/pivotal/jasmine/wiki/Background | titel=Background. Why Another JavaScript TDD/BDD Framework? | autor=Terin Jokes u. a. | datum=2012-08-22 | zugriff=2014-02-01 | sprache=en }}</ref> |
||
== Einsatz == |
== Einsatz == |
Aktuelle Version vom 29. Februar 2020, 15:18 Uhr
Jasmine Core
| |
---|---|
Jasmine 2 im Selbsttest | |
Basisdaten
| |
Entwickler | Pivotal Labs (EMC Corporation) |
Erscheinungsjahr | 12. August 2009 |
Aktuelle Version | 5.8.0[1] (7. Juni 2025) |
Betriebssystem | plattformunabhängig |
Programmiersprache | JavaScript |
Kategorie | Modultest |
Lizenz | MIT-Lizenz (Freie Software) |
deutschsprachig | nein |
jasmine.github.io |
Jasmine (Jasmine Core) ist eine freie Modultest-Bibliothek für JavaScript. Jasmine ist auf jeder JavaScript-fähigen Plattform ausführbar (insbesondere ohne Web-Browser bzw. Document Object Model) und erfordert keine Anpassung des Prüfsystems (System Under Test). Die sehr einfach gehaltene Testbeschreibungssprache lehnt sich an die Testfall-Notation des Behavior Driven Development (BDD) an. Großen Einfluss auf die Entwicklung hatten andere Modultest-Bibliotheken wie ScrewUnit, JSSpec, JSpec und RSpec.[2]
Einsatz
[Bearbeiten | Quelltext bearbeiten]Jasmine-Tests sollen einfach lesbar sein. Ein einfacher Hallo-Welt-Test sieht aus wie der Quellcode unten, wobei describe() ein Testszenario beschreibt und it() einen einzelnen Testfall. Im BDD-Sinne bezeichnet it() das Prüfsystem und soll als Subjekt zusammen mit dem Testnamen einen vollständigen (englischen) Satz bilden, der den Testfall beschreibt.
describe('Hallo Welt!', function () {
it('says hello', function () {
expect(helloWorld()).toEqual('Hallo Welt!');
});
it('does not save the world', function () {
expect(helloWorld())
.not.toBe('Rettung der Welt!');
});
});
Bedingungen werden durch Vergleichsfunktionen (Matchers) wie expect(Ausdruck).toEqual(Prüfwert), …toBeTruthy(), …toBeGreaterThan(7.5) oder …toBeDefined() ausgedrückt. Für komplexere Testszenarien werden describe()-Ausdrücke verschachtelt. Mithilfe von Spionen (Spies) können erwartete Funktionsaufrufe und ihre Signatur hinterlegt werden: expect(Objekt.Funktion).toHaveBeenCalledWith(Parameterliste). Dabei können diese durch Stubs oder Mock-Objekte ersetzt oder Beobachtungsfunktionen injiziert werden.
Weitere Funktionalitäten von Jasmine umfassen die Zeitablaufverfolgung und asynchrone Funktionsaufrufe. Zur Sicherstellung der Unabhängigkeit einzelner Tests kann die Testausführungsreihenfolge zufällig bestimmt werden.
Siehe auch
[Bearbeiten | Quelltext bearbeiten]Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Release 5.8.0. 7. Juni 2025 (abgerufen am 18. Juni 2025).
- ↑ Terin Jokes u. a.: Background. Why Another JavaScript TDD/BDD Framework? 22. August 2012, abgerufen am 1. Februar 2014 (englisch).
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Offizieller Jasmine-Webauftritt
- Jasmine auf GitHub
- Chutzpah. Abgerufen am 25. Juni 2013 (JavaScript/Typescript Test Runner für Visual Studio).
- Jasmine-jQuery. Abgerufen am 25. Juni 2013 (jQuery Erweiterung für Jasmine).
- Jasmine-Fixture. Abgerufen am 25. Juni 2013 (HTML-Fixtures für Jasmine).