Подтвердить что ты не робот

Автономные библиотеки утверждений?

Я почти переносил модули утверждения YUI в автономные библиотеки, когда мысль задумалась о том, что я должен был спросить о StackOverflow, если это было необходимо в первую очередь. Однако я закончил libs:

YUIPort: https://github.com/gso/YUIPort

Но я думал, что тоже буду просить. Существуют ли какие-либо качественные автономные библиотеки функций assert - они могут быть очень полезными, например, проверять правильность аргументов, переданных функциям (может сэкономить много времени на вызов отладчика).

4b9b3361

Ответ 1

По состоянию на 7 мая 2012 года

После краткого исследования, начиная с самого минималистического:

  • assert.js - порт node функции assert
  • jShould - расширение QUnit
  • should.js - node библиотека
  • expect.js - на основе should.js, автономный
  • YUIPort - библиотеки YUI, но автономные
  • chai - node и браузер, плагины вкл. для JQuery
  • expectThat - CoffeeScript

Я должен признать, что я обычно согласен с комментатором DailyJS:

Я не понимаю, почему всем нравится эти многословные библиотеки утверждений.

Хотя я не являюсь пользователем CoffeeScript, я склонен тяготеть к синтаксису простого assert.js, а не ко всей этой цепочке.

Возможности разработки этих библиотек включают:

  • подключаемый с основными наборами тестов (экономит необходимость переключения между двумя библиотеками при кодировании)
  • на стороне сервера (node) и на стороне клиента без изменения библиотек
  • интеграция в основные веб-фреймворки (например, JQuery)

Некоторые из основных наборов тестов включают в себя:

основные веб-фреймворки часто включают в себя собственные тестовые пакеты.

Ведение журнала, обсуждение доступных библиотек. На первый взгляд, они, похоже, до сих пор не дошли до серверной JS.

Ответ 2

function assert(condition, message) {
    if (!condition) throw new Error(message)
}