我经常使用 supertest 针对我的节点应用程序编写黑盒测试。该应用程序加载了数据库装置,黑盒测试对数据库进行了剧烈的测试。我想在某些测试之间重置应用程序状态(这样我就可以运行不同的测试组合而不必担心特定的数据库状态)。
理想的情况是能够用另一个重新加载应用程序:
var app = require(../app.js).app;
但这只会在我运行 mocha 时发生一次(因为它应该与require
调用一起发生)。我想我可以通过将我的测试包装在批处理文件中的多个 mocha 调用中来做到这一点,但是我的开发人员习惯于运行npm test
,我希望他们继续这样做。
我怎么能这样做?