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

5

我刚开始学习Node,并跟随不同的教程进行学习。

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

如何配置我的规范,以便我可以:

  • 创建模型,在每个规范后自动清除它们
  • 使用不同的数据库来创建测试对象(例如myapp_test)
  • 以最干净的方式完成此操作,即不为每个describe块创建具有拆卸功能的before / after块

1个回答

7

我会尝试回答你的问题。

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

为此,我假设您使用Mocha作为测试框架,您可以像这样简单地使用函数beforeEach

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

基本上,我在这里做的是在每个it之前清理我的数据库,但您可以使其执行任何操作。

使用不同的数据库创建测试对象

在这里,您应该使用节点process.env方法来设置您的环境。这篇文章可以帮助您了解它的工作方式。对于GRUNT项目来说非常有用,它可以大大提高您的工作流程和配置工作效率。

以尽可能DRY的方式进行操作,即不为每个describe块创建一个before/after块来进行拆卸

我不确定您想要什么,但请查看钩子beforeafterbeforeEachafterEach的文档。我认为您会在这里找到所需内容。

另外,有一个名为grunt-express-server(https://github.com/ericclemmons/grunt-express-server)的Grunt项目能够帮助你轻松设置环境。 - Fougere

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接