【问题标题】:Test environment in Node.js / Express applicationNode.js / Express 应用程序中的测试环境
【发布时间】:2014-09-11 16:14:56
【问题描述】:
我刚刚开始使用 Node,并且一直在学习各种教程。
我创建了一个 Express 应用,并设置了 Mongoose 和 Jasmine。
如何配置我的规格以便我可以:
- 创建模型,在每个规范之后自动清理它们
- 使用不同的数据库来创建测试对象(比如 myapp_test)
- 以尽可能 DRY 的方式执行此操作,即不为每个描述块创建拆解前/后块
?
【问题讨论】:
标签:
node.js
express
mongoose
tdd
jasmine
【解决方案1】:
我会尽力回答你的。
创建模型,在每个规范之后自动清理它们。
为此,我假设您使用 Mocha 作为测试框架,您可以像这样简单地使用函数beforeEach:
describe('POST /api/users', function() {
beforeEach(function(done) {
User.remove({}, function (err) {
if (err) throw err;
done();
});
});
});
基本上我在这里所做的是在每个it 之前清理我的数据库,但你可以让它做任何你想做的事情。
使用不同的数据库来创建测试对象
在这里,您应该使用节点process.env 方法来设置您的环境。 Here 是一篇了解其工作原理的文章。对 GRUNT 项目进行大量工作,这对您的工作流程和配置内容有很大帮助。
以尽可能 DRY 的方式执行此操作,即不创建
before / after 块,每个描述块的拆卸
我不确定我是否得到了您想要的,但请查看文档中的钩子 before、after、beforeEach、afterEach。我想你会在这里找到你想要的。