【发布时间】:2011-10-27 06:14:46
【问题描述】:
我正在使用 Vows.js 来测试一些在数据库中创建记录的 node.js。因此,它在数据库中创建了一些测试记录。测试运行后,我想删除这些记录。在 Vows 中运行一批测试时,有没有办法运行清理功能?
【问题讨论】:
我正在使用 Vows.js 来测试一些在数据库中创建记录的 node.js。因此,它在数据库中创建了一些测试记录。测试运行后,我想删除这些记录。在 Vows 中运行一批测试时,有没有办法运行清理功能?
【问题讨论】:
如果是我,我会在运行自动化测试时使用单独的测试数据库,并在每次测试运行前清空该数据库。
【讨论】:
您可以在您的上下文中定义 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看到这个。
【讨论】:
对于实现 afterSuite 的誓言有一个公开的拉取请求:
https://github.com/phstc/vows/commit/d5b40e85e924e06cca560b4d8d6a264528bbab2b
【讨论】: