Как запустить очистку с помощью vows.js? - PullRequest
8 голосов
/ 15 августа 2011

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

Ответы [ 3 ]

14 голосов
/ 15 августа 2011

Вы можете определить функцию 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 собственные тесты .

2 голосов
/ 15 августа 2011

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

0 голосов
/ 23 января 2013

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

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

...