Jump to content

Жасмин (программное обеспечение)

(Перенаправлено с JSUnit )
Жасмин
Разработчик(и) Основные лаборатории
Первоначальный выпуск 14 сентября 2010 г .; 13 лет назад ( 14.09.2010 ) [1]
Стабильная версия
4.0.1 / 22 февраля 2022 г .; 2 года назад ( 22.02.2022 ) [2]
Репозиторий
Написано в JavaScript
Операционная система Кросс-платформенный
Тип Юнит-тест
Лицензия МОЯ лицензия [3]
Веб-сайт жасмин .github .что  Edit this on Wikidata

Jasmine — это с открытым исходным кодом среда тестирования JavaScript . [4] Его цель — работать на любой платформе с поддержкой JavaScript, не вторгаться ни в приложение, ни в IDE , а также иметь простой для чтения синтаксис. На него сильно влияют другие среды модульного тестирования, такие как ScrewUnit, JSSpec, JSpec и RSpec . [5]

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

  • Поддерживает асинхронное тестирование. [7]
  • Использует «шпионов» для реализации тестовых двойников . [7]
  • Поддерживает тестирование внешнего кода с помощью внешнего расширения Jasmine под названием Jasmine-jQuery. [7]

Использование

[ редактировать ]

Жасмин стремится, чтобы ее было легко читать. Простой тест hello world выглядит как код ниже, где описать() описывает набор тестов, а it() — отдельную спецификацию теста. Имя «it()» соответствует идее разработки, основанной на поведении , и служит первым словом в имени теста, которое должно представлять собой полное предложение. Использование соответствует синтаксису, аналогичному синтаксису RSpec .

Код ниже проверяет эту функцию

function helloWorld() {
  return 'Hello world!';
}

и проверяет, что его вывод действительно является текстом «Hello world!».

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

Jasmine предоставляет богатый набор встроенных средств сопоставления. В приведенном выше примере toEqual проверяет равенство между значением, возвращаемым функцией helloWorld(), и значением «Hello world!». нить. Это то же самое, что и утверждения, используемые в других средах тестирования. Сопоставители Jasmine возвращают логическое значение: true, если ожидание соответствует (способ указать, что тест пройден), или false, если ожидание не соответствует. [7] Хорошей практикой является помещение одного ожидания в отдельную спецификацию теста it().

Другие встроенные средства сопоставления включают toBe, toBeTruthy, toBeFalsy, toContain, toBeDefined, toBeUndefine, toBeNull, toBeNaN, toBeGreaterThan, toBeLessThan, toBeCloseTo. [8] Средство сопоставления идентификаторов toBe проверяет, являются ли две вещи одним и тем же объектом. Сопоставители условий toBeTruthy, toBeFalsy оценивают, является ли что-то истинным или ложным, а toBeDefined, toBeUndefine проверяют, определено ли что-то или нет. Как следует из названия, toBeNull проверяет, является ли что-то нулевым, а toBeNaN проверяет, не является ли что-то числом ( NaN ). Средство сопоставления точности toBeCloseTo принимает два параметра и проверяет, близко ли число к первому параметру, учитывая определенную десятичную точность, указанную вторым параметром. Сопоставитель toContain используется для проверки того, что элемент, объект или подстрока содержится в массиве, списке или строке.

Специальный встроенный механизм сопоставления toThrow используется для проверки того, что исключение было создано. [7] Приведенный ниже код проверяет, что выдается «Некоторое исключение».

describe('Expect to throw an exception', function() {
  it('throws some exception', function() {
    expect( function(){ throw('Some exception'); }).toThrow('Some exception');
  });
});

Jasmine имеет ряд других функций, таких как пользовательские средства сопоставления, шпионы и поддержка асинхронных спецификаций.

Жасминовые тестовые бегуны

[ редактировать ]

Jasmine поставляется со встроенным средством запуска тестов. Тесты Jasmine могут запускать тесты браузера, включив простой SpecRunner.html. [9] файл или используя его в качестве средства запуска тестов командной строки, поддерживаемого для различных языков, таких как Nodejs, Python, Ruby , или (старый способ) с помощью Karma, [10] простой инструмент для запуска тестов JavaScript.

Сравнение Жасмина и Мокко

[ редактировать ]

Mocha — еще одна популярная среда тестирования Javascript. Сравнение Жасмина и Мокко приведено в таблице ниже. [11]

Жасмин Мокко
Жасмин приходит с тестовыми двойниками с помощью шпионов. Mocha не поставляется с двойной тестовой библиотекой и обычно использует внешнюю библиотеку, например Sinon.
У Jasmine есть утилита командной строки для запуска тестов. У Mocha есть утилита командной строки для запуска тестов.
В Жасмин встроены утверждения. Mocha не имеет библиотеки утверждений и использует Chai для утверждений.

Преимущества

[ редактировать ]

См. также

[ редактировать ]
  1. ^ Фрэнк, Дэвис В. «Выпущена версия Jasmine 1.0» . Ключевые лаборатории . Архивировано из оригинала 22 февраля 2014 года . Проверено 11 февраля 2014 г.
  2. ^ «Выпускает · жасмин/жасмин» . github.com . Проверено 5 апреля 2022 г.
  3. ^ "жасмин/MIT.ЛИЦЕНЗИЯ" . Гитхаб . Проверено 25 апреля 2017 г.
  4. ^ "Дом" . жасмин.github.io .
  5. ^ «Предпосылка · жасмин/Жасмин Wiki» . Гитхаб .
  6. ^ Страница проекта GitHub JsUnit
  7. ^ Перейти обратно: а б с д и Рагонья, Пауло (2013). Жасминовое тестирование JavaScript . Издательство пакетов. ISBN  978-1782167211 .
  8. ^ Хан, Эван (2013). Тестирование JavaScript с помощью Jasmine . О'Рейли Медиа. ISBN  978-1449356378 .
  9. ^ «Простой проект» . Гитхаб .
  10. ^ «Карма Жасмин» . 16 июня 2022 г.
  11. ^ «Жасмин против Мокко» . Марко Франссен . Проверено 13 февраля 2017 г.
  12. ^ Перейти обратно: а б «Сравнение: Жасмин, Мокко и QUnit | StackShare» . Проверено 13 февраля 2017 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 434ea3e258b2a0e1eb6b5b6bdd031ea9__1717776300
URL1:https://arc.ask3.ru/arc/aa/43/a9/434ea3e258b2a0e1eb6b5b6bdd031ea9.html
Заголовок, (Title) документа по адресу, URL1:
Jasmine (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)