Ответ 1
Функция before
примерно такая же, как и для очистки базы данных. Если вам нужно только очистить базу данных, как только вы запустите все свои тесты, вы можете иметь глобальную функцию before
в отдельном файле
globalBefore.js
before(function(done) {
// remove database data here
done()
})
Стабилизаторы тест-1.js
require('./globalBefore)
// actual test 1 here
Стабилизаторы тест-2.js
require('./globalBefore)
// actual test 2 here
Обратите внимание, что globalBefore будет работать только один раз, даже если он требуется дважды
Принципы тестирования
Попробуйте ограничить использование внешних зависимостей, таких как базы данных в ваших тестах. Чем меньше внешних зависимостей, тем легче тестирование. Вы хотите иметь возможность выполнять все параллельные тесты параллельно, а общий ресурс, такой как база данных, затрудняет выполнение.
Взгляните на этот раздел Google Tech о написании тестового javascript http://www.youtube.com/watch?v=JjqKQ8ezwKQ
Также обратите внимание на модуль rewire. Он отлично работает для выполнения функций.