我正在为我工作的产品编写一个执行单元测试的迷你框架。我希望尽可能无缝地发布和管理测试数据。使用Mocha,使用After()挂钩可以轻松安排测试数据清理。Javascript摩卡时间表一次测试数据清理
您可以将单个测试包装在describe()块中,并使用该块的Before/After方法,但是如果可能,我宁愿避免这种情况。
您可以将清理功能传递给afterEach,它专门针对测试中填充的数据。虽然这只会对一次清理而言是必要的,但这样做似乎很笨拙。
是否有可能在一次测试中生成测试数据,仅仅是为了测试,还安排了与Mocha一起进行清理?
1.您是否必须生成单独的文件?只要您的测试数据具有可由内存管理的大小,您就可以轻松编写测试数据生成功能。 2.你能否详细说明“只需要一次清理”的含义? 'afterEach'有什么问题? –
为了更加清楚,我的测试数据使用Knex填充到数据库中。我希望测试能够从助手请求数据并让他们填充数据库,然后清理它。因此,如果一个测试块向表中插入两个条目,那么在测试运行之后,应该删除这两个条目。我可以使用它们的主键来跟踪它们并以有针对性的方式清理它们。我可以在AfterEach之后这样做,但它会在每次测试之后运行,而不是一次性清理。 – Akron
如果你想测试读/写,我会建议一个模拟工具,比如优秀的['mock-knex'](https://www.npmjs.com/package/mock-knex)。或者你可以很容易地编写你自己的模拟数据库,它实现了你正在测试的方法并将条目存储在内存中。 –