Общий тестовый прибор для определения скорости вращения огурца и жасмина

Как мне разделить осветительные приборы между тестом на огурец и жасмин?

Я могу создать прибор с одним тестом интеграции с жасминовым сервером, который можно использовать с другими тестами интеграции с жасминовым сервером. Но (из-за разных "зеркал" я думаю?) Я не могу использовать один и тот же прибор в тесте на огурец. В коллекции Mongo нет данных, созданных в ходе интеграционных тестов сервера jasmine.

Одним из вариантов является сохранение состояния в плоский файл или нечто подобное за пределами метеора. Но было бы намного проще ссылаться на общую коллекцию (на том же зеркале?) Для тестовых приборов. Это возможно?

3 ответа

Решение

Вы можете использовать шаблон "пакет-приспособление" для светильников, чтобы добиться того, что вы просите. Смотрите здесь: https://github.com/meteor-velocity/velocity

Любые пакеты, которые вы создаете с debugOnly Флаг в дескрипторе пакета не будет включен в производство.

Все возможно. Однако я не рекомендую делать тесты зависимыми друг от друга. Как гласит Википедия:

В идеале каждый тестовый пример не зависит от других.

Несколько причин, почему ваши тесты должны быть независимыми:

  • Проще сузить проблему, если тесты не пройдены (если тесты зависят друг от друга, у вас будет несколько тестовых сбоев, в которых просто предшественник потерпел неудачу)
  • Позволяет распараллеливать, чтобы уменьшить общее время выполнения теста (по мере роста вашего набора тестов)

В настоящее время Velocity жестко кодирует порт 5000 для экземпляра тестового зеркала вашего приложения, но я знаю, что предпринимаются попытки сделать этот порт настраиваемым (что должно было бы поддерживаться самими тестовыми средами).

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

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

Другие вопросы по тегам