Как запустить очистку с помощью vows.js?

Я использую Vows.js для тестирования некоторого node.js, который создает записи в базе данных. В результате этого он создает несколько тестовых записей в базе данных. Я хотел бы удалить эти записи после запуска тестов. Есть ли способ запустить функцию очистки при выполнении серии тестов в Vows?

3 ответа

Решение

Вы можете определить teardown функция в вашем контексте, которая выполняется после запуска всех тестов в вашем контексте.

vows.describe('Foo').addBatch({
    'A Context' : {
       topic : { foo: 'bar' },
       'it works' : function (topic) { assert.equal(topic.foo, "bar"); },
       teardown : function (topic) { topic.foo = "baz" }
    }
});

Вы можете увидеть это в собственных тестах Vows.

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

Есть открытый запрос на получение обетов, реализующих afterSuite:

https://github.com/phstc/vows/commit/d5b40e85e924e06cca560b4d8d6a264528bbab2b

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