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

Как запускать (Python-подобные) доктрины в JavaScript?

Предоставляются ли какие-либо фреймворки JavaScript для грубого эквивалента доктрине Python?

function add(a, b) {
  /**
  Returns the sum of `a` and `b`:

    > add(1, 3)
    4

  Add coerces types to numeric values where possible:

    > add('51' + 3)
    54
  */
  return (a - 0) + (b - 0);
}
4b9b3361

Ответ 1

Не знаю, что я вчера курил. Soory.

doctestjs (doctestjs на github) является правильная ссылка и, похоже, тоже находится в активном развитии.

Хотя он немного отличается от доктрины python в том, что с doctestjs вы объявляете тесты в HTML файле, чтобы их можно было запустить.

Но я предполагаю, что должно быть возможно объявить тест inline в вашем коде. А затем сделайте шаг предварительной обработки в процессе сборки, чтобы извлечь тесты и автоматически создать из них test-html.

например. при использовании ant я представляю собой прикладной файл copy, replaceregexp, concat. например скопируйте файл js, замените все, что не является комментарием, и все комментарии, которые не похожи на тесты doctestjs. затем выполните concat htmlhead + тесты + headfooter.

Ответ 2

Я не могу понять суть пакета Ian Bicking, doctestjs. Он просто дает нам другой способ писать обычные внешние тесты, а не настоящие доктрины.

Я использую много доктрин python, они для меня очень важны, я не знаю, для чего может быть полезным doctestjs, но я нашел некоторые истинные доктрины, реализованные в этом проекте: https://github.com/davidchambers/doctest.

Даже если это не самый модный проект доктрины для javascript, я предпочитаю его.


Обновление: после того, как через год после этого ответа у меня была возможность внести свой вклад в проект от Дэвида Чамберса, это действительно хорошо написано. Я также использовал его при работе в сложном приложении, используя require.js, и для этого мы добавили поддержку модулей AMD. Я думаю, он добавил поддержку Common JS модулей. Таким образом, я могу только подтвердить свое мнение.