Vm2: Mochaテストの動作は通常のランタイムとは異なります

作成日 2017年04月28日  ·  2コメント  ·  ソース: patriksimek/vm2

私はモカに簡単なテストケースを持っていますが、それは非常に異なる結果をもたらします:

A.バニラコードは正常に動作します!

const body: string = `
            var moment = require('moment');
            setInterval(function(){
                console.log(moment().unix());
            }, 2000)
        `
const vm = new NodeVM({
    console: 'redirect',
    require: {
           external: true,
                root: process.cwd()
            }
     })
vm.run(body)
vm.on('console.log', function(consoleMessage){
      console.log('from event', consoleMessage)
})

B.このMochaスクリプトでは、新しいエラーが発生します

describe('Vanilla Script Test', function () {
    it('should return a console log of a unix from moment', function (done) {
        const body: string = `
            var moment = require('moment');
            setInterval(function(){
                console.log(moment().unix());
            }, 2000)
        `
        const vm = new NodeVM({
            console: 'redirect',
            require: {
                external: true,
                root: process.cwd()
            }
        })
        vm.run(body)
        vm.on('console.log', function(consoleMessage){
            done()
        })
    })
})

C.モカでのみ発生する新しいエラー

VMError: You must specify script path to load relative modules.

stale

最も参考になるコメント

vm.run(body, 'myFile.js')のように、ファイル名をvm.runに渡すと、正常に機能します。

全てのコメント2件

vm.run(body, 'myFile.js')のように、ファイル名をvm.runに渡すと、正常に機能します。

この問題は、最近のアクティビティがないため、自動的に古いものとしてマークされています。 それ以上のアクティビティが発生しない場合は閉じられます。 貢献していただきありがとうございます。

このページは役に立ちましたか?
0 / 5 - 0 評価