8

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

4

3 回答 3

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 自己的测试中看到这一点。

于 2011-08-15T18:14:48.050 回答
2

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

于 2011-08-15T16:53:18.847 回答
0

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

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

于 2013-01-23T12:04:33.200 回答