2017-04-10 12 views
2

を見つけることができません流星など。私はエラーが表示されます。は、私は、コマンドラインからモカフレームワークと流星アプリをテストしたいモジュール「流星」

Error: Cannot find module 'meteor/meteor'

はので、私の質問は以下のとおりです。

  1. 「流星テスト」というコマンドを使わずに流星群をテストするにはどうすればよいですか?

  2. どのように流星テストを実行するためにモカをブートストラップする必要がありますか?

ありがとう。

+0

では、ローカルNPMに流星をインストールしたディレクトリ( 'NPMのinstall'を)モジュールがありますか?また、 'meteor' CLIを使ってテストを実行する必要があります。 [こちら](https://www.meteor.com/tutorials/blaze/testing)を参照してください。 – usandfriends

+0

はい、npm installとmeteor npm installを試しました。流星cliなしでテストを実行する必要があります。 –

答えて

0

実用的なメーターまたはモカを使用する必要があります。だから私はのように私のpackage.jsonでスクリプトを持っている:

"scripts": { 
    "start": "meteor --settings settings-development.json", 
    "test": "meteor test --driver-package practicalmeteor:mocha --port 5000 --settings settings-development.json", 
    "chimp-watch": "chimp --ddp=http://localhost:3000 --watch --mocha --path=tests", 
    "chimp-test": "chimp --ddp=http://localhost:3000 --mocha --path=tests" 
    }, 

そして、これらは、いくつかの簡単なテストです:



    /* eslint-env mocha */ 
    /* eslint-disable func-names, prefer-arrow-callback */ 
    /* eslint no-console: ["error", { allow: ["log", "warn", "error"] }] */ 

    import { Meteor } from 'meteor/meteor'; 
    import { assert } from 'meteor/practicalmeteor:chai'; 
    import { resetDatabase } from 'meteor/xolvio:cleaner'; 

    import { checkLog } from '../apiHelpers.js'; 

    import { insertLog } from './methods.js'; 
    import { addLog, addLogPromise } from './insertHelpers.js'; 
    import { getLGSitemId, getLGSitemType, getLGScreateDate } from './generalHelpers.js'; 
    import { getLDSevents, getLDSevent, addEvent } from './dataHelpers.js'; 

    describe('Log Tests', function() { 
     beforeEach(function() { 
     if (Meteor.isServer) { 
      resetDatabase(); 
     } 
     }); 

     if (Meteor.isServer) { 

     it('insertHelpers: addLog', function() { 
      let testLogId = ''; 

      try { 
      testLogId = insertLog.call(addLog('someDodgyId', 'doc')); 
      } catch (err) { 
      console.log(err); 
      } 

      assert.typeOf(testLogId, 'string'); 
      assert.typeOf(checkLog(testLogId), 'undefined'); // if it runs correctly, undefined 
     }); 

     it('insertHelpers: addLogPromise', function() { 
      addLogPromise('someDodgyId', 'doc') 
      .then((result) => { 
       assert.typeOf(result, 'string'); 
       assert.typeOf(checkLog(result), 'undefined'); 
      }) 
      .catch((err) => { 
       throw new Meteor.Error(err); 
      }); 
     }); 

     it('generalHelpers', function() { 
      const testLogId = insertLog.call(addLog('someDodgyId', 'doc')); 
      assert.typeOf(testLogId, 'string'); 

      // Tests 
      assert.equal(getLGSitemId(testLogId), 'someDodgyId'); 
      assert.equal(getLGSitemType(testLogId), 'doc'); 
      assert.typeOf(getLGScreateDate(testLogId), 'date'); 
     }); 

     } 
    }); 

+0

"meteor test"コマンドを使わずにテストする必要があります。 –

関連する問題