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

发布于 2024-11-29 09:11:11 字数 107 浏览 2 评论 0原文

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

I'm using Vows.js to test some node.js which is creating records in a database. As a result of this it creates some test records in the database. I'd like to remove these records once the tests have run. Is there a way to run a cleanup function when a batch of tests is run in Vows?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

小草泠泠 2024-12-06 09:11:11

您可以在上下文中定义 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 自己的测试中看到这一点。

You can define the teardown function in your context that is executed once all the tests in your context are run.

vows.describe('Foo').addBatch({
    'A Context' : {
       topic : { foo: 'bar' },
       'it works' : function (topic) { assert.equal(topic.foo, "bar"); },
       teardown : function (topic) { topic.foo = "baz" }
    }
});

You can see this in Vows own tests.

狂之美人 2024-12-06 09:11:11

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

If it were me, I would use a separate test database when running automated tests, and empty that database before each test run.

可是我不能没有你 2024-12-06 09:11:11

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

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

There's an open pull request for vows implementing afterSuite:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文