Jasmine

Jasmine − це вільний фреймворк для тестування коду написаного мовою JavaScript.[3] Його може бути запущено на будь-якій платформі, де виконується JavaScript. Він не втручається в роботу ні програм, ні IDE, а також має дуже простий для читання інтерфейс. На розробку Jasmine вплинули інші фреймворки для тестування, такі як: ScrewUnit, JSSpec, JSpec та RSpec.[4]

Jasmine
Тип Фреймворк для автоматизованого тестування
Розробник Pivotal Labs
Перший випуск 14 вересня 2010 (2010-09-14)[1]
Стабільний випуск 2.3
Версії 3.7.1 (19 березня 2021)[2]
Репозиторій github.com/Jasmine/Jasmine
Операційна система Cross-platform
Мова програмування JavaScript
Стан розробки Активний
Ліцензія MIT License
Вебсайт jasmine.github.io

Використання

Jasmine задумувався як легкий для читання. Тестування простої функції hello world виглядає досить просто, дивіться приклад з кодом нижче. В ньому функція describe(), що описує роботу тестів, а it() є специфікацією тестування. Назва «it()» слідує правилам природної розробки і містить перше слово з імені тесту, утворюючи в результаті повне речення.

Приклад коду нижче тестує наступну функцію:

helloWorld()

…і перевіряє, чи цей код видасть текст «Hello world!».

describe('Hello world', function() {
  it('says hello', function() {
    expect(helloWorld()).toEqual('Hello world!');
  });
});

Jasmine має також багато інших можливостей, таких як пошук за фільтром («custom matchers»), «шпигуни» (spies) та асинхронні специфікації («asynchronous specifications»).

Історія

Розробники Pivotal Labs перед Jasmine спершу розробили інший фрейморк для тестування, який було названо JsUnit, пізніше переключились на розробку Jasmine.[5]

Див. також

  • Бібліотеки JavaScript

Примітки

  1. Davis W. Frank. Jasmine 1.0 Released. Pivotal Labs. Архів оригіналу за 22 лютого 2014. Процитовано 11 лютого 2014.
  2. Release 3.7.1 — 2021.
  3. http://jasmine.github.io/
  4. https://github.com/pivotal/jasmine/wiki/Background
  5. Github JsUnit Project Page

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.