Zum Inhalt springen

„Jasmine (JavaScript)“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
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 = 12. August 2009
| Erscheinungsjahr = <!-- Wikidata -->
| AktuelleVersion = 3.4.0
| AktuelleVersion = <!-- Wikidata -->
| AktuelleVersionFreigabeDatum = 04. April 2019
| 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? | titelerg= | autor=Terin Jokes u.&nbsp;a. | datum=2012-08-22 | zugriff=2014-02-01 | sprache=en }}</ref>
'''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.&nbsp;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
Programmier­sprache 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]

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.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Release 5.8.0. 7. Juni 2025 (abgerufen am 18. Juni 2025).
  2. Terin Jokes u. a.: Background. Why Another JavaScript TDD/BDD Framework? 22. August 2012, abgerufen am 1. Februar 2014 (englisch).