Node.js/Express应用程序中的测试环境

All*_*ate 5 tdd mongoose node.js express jasmine

我刚开始使用Node,我一直在关注各种教程.

我创建了一个Express应用程序,并设置了Mongoose和Jasmine.

如何配置我的规格以便我可以:

  • 创建模型,在每个规范后自动清理它们
  • 使用不同的数据库来创建测试对象(比如myapp_test)
  • 的方式,尽可能DRY做到这一点,即没有建立前/与拆卸每个块之后描述块

Fou*_*ere 7

我会尽力回答你.

创建模型,在每个规范后自动清理它们.

要做到这一点,我假设你使用Mocha作为测试框架,你可以简单地使用这样的函数beforeEach:

describe('POST /api/users', function() {
    beforeEach(function(done) {
        User.remove({}, function (err) {
            if (err) throw err;
            done();
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

基本上我在这里做的是在每个之前清理我的数据库,it但你可以让它做任何你想做的事情.

使用其他数据库创建测试对象

在这里,您应该使用节点process.env方法来设置您的环境.这里是一个文章,了解了一点它是如何工作的.需要花很多时间来完成GRUNT项目,它对您的工作流程和配置有很大帮助.

的方式,尽可能DRY做到这一点,即没有建立前/与拆卸每个块之后描述块

我不知道我得到了你想要什么,但看看该文档的钩子before,after,beforeEach,afterEach.我想你会在这里找到你想要的东西.