2013-06-05 3 views
7

Я новичок в модульном тестировании с использованием Mocha & should.js. Я использую BDD Mocha для тестирования своего приложения. Приложение, которое я тестирую, имеет разные компоненты, такие как учетная запись, продукты &. Прежде чем переместить код в репозиторий git, я хочу проверить все аспекты приложения. У меня разные тестовые файлы для всех компонентов. Например, account.js для учетной записи, order.js для заказа & и так далее.Организация тестов с использованием Mocha & Should.js

Я хочу протестировать все компоненты на временной тестовой учетной записи. Таким образом, поток:

  1. Создать тестовый аккаунт
  2. теста все функции, связанные с учетной записи (профиля обновления, изменить пароль и т.д.)
  3. теста все функциональные возможности продукта счета
  4. Test все функциональные возможности этой учетной записи заказать
  5. Удалить тестовый аккаунт & всю информацию, связанную с ней

Мой вопрос как я могу убедиться, что временная учетная запись создана перед выполнением других тестов?

Поскольку у меня есть тестовые примеры в разных файлах, как я могу убедиться, что они выполнены в том же порядке, как указано выше? Есть ли другой лучший способ протестировать приложение?

Спасибо.

ответ

7

Ваши модульные тесты должны быть независимыми: выполнение одного не должно влиять на выполнение других. Используя Mocha, я делаю это, имея каждый тестовый файл require файл утилиты с функцией beforeEach, которая очищает базу данных, устанавливает соединения и т. Д. Для каждого модульного теста. Существует также функция afterEach, которая очищает и отключает после каждого модульного теста.

Если каждый протестированный вами единичный тест требует тестовой учетной записи, вы можете установить тестовую учетную запись в аналогичной функции верхнего уровня beforeEach. В противном случае вы можете настроить тестовую учетную запись в функции beforeEach в рамках желаемых блоков Mocha describe.