Как запустить очистку с помощью 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