2017-03-14 5 views
3

私はmochaとmockgooseでテストしたmongodbにアクセスできるノードアプリケーションがあります。 最近mockgoose 7.0.5に移動しました。 私はgithubを使い始めるのに続き、mochaタイムアウトを2分に上げました。 mockgoose.prepareStorageを実行すると、Mockgooseが234MBをダウンロードしています

は、ここに私のテストで私の前に機能をしている:私は、テストを実行すると

import mongoose from 'mongoose'; 
var Mockgoose = require('mockgoose').Mockgoose; 
[...] 

const mockgoose = new Mockgoose(mongoose); 

before(function(done) { 
    try { 
    console.log('BEFORE prepareStorage'); 
    mockgoose.prepareStorage().then(() => { 
    console.log('IN prepareStorage'); 
     mongoose.connect('mongodb://example.com/TestingDB', function(err) { 
     done(err); 
     }); 
    }).catch((error) => { 
     done(error); 
    }); 
    } catch(e) { 
    done(e); 
    } 
    console.log('AFTER prepareStorage'); 
}); 

beforeEach(function(done) { 
    mockgoose.helper.reset(); 
    done(); 
}); 

mockgoose.prepareStorageステップの間に、mockgooseが何かをダウンロードしているようです。

BEFORE prepareStorage 
AFTER prepareStorage 
Completed: 0.1 % (0.2mb/234.3mb 

私は、要求された2分のタイムアウトと関係があると思います。

私の質問/問題は、次のとおりです。

  • 誰がダウンロードされているものmockgoose知っていますか? (私は以前のバージョンのmockgooseでこの動作を覚えていません)

  • mockgooseは、実行ごとにこのダウンロードが必要ですか(npmテスト)、結果は次の実行(npmテスト)で再利用されますか?

  • 私は彼に何かをダウンロードさせないでください。理想的には、ユニットテストをsandbox envで実行したいと思います(ドッカー内のウェブにアクセスできない)。どこかで234MBをダウンロードして、それを再利用するようmockgooseに依頼できますか?

おかげ

答えて

2

私は正確に何を見極めることはできませんが、私は、これはmockgoose 7のインストール後の段階での問題であるかなり確信しています。 mockgoose^6.0.0に戻すとこの問題は修正されます。

更新

問題が初めてmockgooseが、これはしばらく時間がかかることができ、MongoDBのソースをダウンロードする必要があります実行されることです。テストのタイムアウトを何か(5〜10分)に更新するようにしてください。これで問題は解決しました。幸いにもそれは一度だけ必要です。

+0

お返事ありがとうございます。この動作は、mongodb-prebuildでのmongodb-downloadの使用に起因します。あなたは私のdev postに1回の最初のnpmテストでダウンロードできるという事実は正しいです。問題は、Webへのアクセスなしで継続的な統合で単体テストを実行したいと思うことです。私はmongodb-downloadで試してみて、それを事前にダウンロードしようとします。新しい情報が入り次第お知らせします –

関連する問題