2011-08-15 36 views
8

我使用Vows.js来测试一些在数据库中创建记录的node.js。因此,它会在数据库中创建一些测试记录。我想在测试运行后删除这些记录。在Vows中运行一批测试时,是否有办法运行清理函数?如何使用vows.js运行清理?

回答

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中看到此内容。

+0

完美。谢谢拉赫曼。 – tooba

+0

我爱你。希望这是在誓言文档。 – j03m

2

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