如何使用vows.js运行清理?

时间:2011-08-15 12:43:26

标签: node.js bdd vows

我正在使用Vows.js来测试一些在数据库中创建记录的node.js。因此,它在数据库中创建了一些测试记录。我想在测试运行后删除这些记录。有没有办法在Vows中运行一批测试时运行清理功能?

3 个答案:

答案 0 :(得分:14)

您可以在上下文中定义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 own tests中看到这一点。

答案 1 :(得分:2)

如果是我,我会在运行自动化测试时使用单独的测试数据库,并在每次测试运行之前清空该数据库。

答案 2 :(得分:0)

对于实施afterSuite的誓言有一个公开拉取请求:

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