Может ли блок метеода эффективно тестироваться?

В настоящее время я смотрю в рамки метеор, и этот вопрос сразу же подскакивает. Является ли код, который я пишу (например, Template.xxx code или Template.xxx.events), фактически проверяемым каким-либо образом?

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

Ответы

Ответ 1

По состоянию на февраль 2014 года код Meteor можно тестировать с помощью встроенной Tinytest, если вы переместите все свои код приложения в пакеты, который вы должны делать в любом случае. Быстрый и грязный способ заключается в добавлении файла package.js. Этот файл служит для:

Вот пример Eventedmind - https://github.com/EventedMind/meteor-file

Вы можете увидеть в meteor-file-test.js, что он обращается к MeteorFile, который объявлен как экспорт в package.js.

Ответ 2

Кажется, что никакой официальной тестовой структуры пока нет, кроме недокументированный Tinytest (см. видеоурок) и helpers, но вы всегда можете заглушить/API-интерфейс Meteor, как я сделал в этом тривиальном примере на github.

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

Ответ 3

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

Если вы откроете пакет liveui ($METEOR_HOME/packages/liveui), то, по-видимому, будет проведено несколько отдельных тестов с использованием TinyTest и тестирования рендеринга. Я думаю, что было бы неплохо начать: -

  • liveui_tests.js
  • liveui_tests.html

и др.

Надеюсь, что поможет

Ответ 4

Я создал сообщение в блоге, в котором показано, как сделать эффективное модульное тестирование в Meteor, а также пример проекта GitHub. Надеюсь, что это поможет.

http://blog.xolv.io/2013/04/unit-testing-with-meteor.html

Ответ 5

Velocity была выбрана в качестве официальной платформы тестирования для метеора 1.0. Объявление было сделано в последнем метеорном магазине (июнь 2014 г.).

Пакеты, разработанные со скоростью: