护照 mongoStore 在摩卡测试中抛出连接错误

Posted

技术标签:

【中文标题】护照 mongoStore 在摩卡测试中抛出连接错误【英文标题】:passport mongoStore is throwing connect errors in mocha tests 【发布时间】:2014-09-11 00:32:27 【问题描述】:

只是偶尔,但已经够烦了:

我有auto_reconnect: true 似乎没有解决问题。

mongoStore = require('connect-mongo')(session);

// Persist sessions with mongoStore
app.use(session(
    secret: 'ever loving sound of frogs',
    store: new mongoStore(
        url: config.mongo.uri,
        collection: 'sessions',
        auto_reconnect: true
    , function () 
        console.log('db connection open');
    )
));

我在运行单元测试时仍然偶尔会收到此错误:

debugger listening on port 56141
Error: Error setting TTL index on collection : sessions

【问题讨论】:

【参考方案1】:

根据我的经验,由于各种原因,当 connect-mongo 无法连接到数据库时,您基本上会看到该错误消息。

在您的情况下,考虑到它听起来像是间歇性的,也许您可​​能在初始化和使用它之间存在竞争条件。看看下面的文章,也许它会帮助你打破那里显示的连接步骤,并确保它已经完成,然后再继续创建商店。

http://phaninder.com/posts/gotchas-connect-mongo-session-store

..还有其他一些相关链接:

MongoDB: Error setting TTL index on collection : sessions https://github.com/kcbanner/connect-mongo/issues/65

【讨论】:

以上是关于护照 mongoStore 在摩卡测试中抛出连接错误的主要内容,如果未能解决你的问题,请参考以下文章

字符串连接运算符(||)在配置单元中抛出错误

测试 Mocha 中抛出的错误 [重复]

如何编写一个期望在 Jasmine 中抛出“错误”的测试?

如何解决 Angular 单元测试错误:“在 afterAll\n[object ErrorEvent] 中抛出了一个错误”

带有 WebFlux 的 Spring Boot 总是在测试中抛出 403 状态

Passport.js 和 MongoStore 错误“在 MongoStore 找不到连接策略”