Vm2: Tes Mocha memiliki perilaku yang berbeda dari runtime normal

Dibuat pada 28 Apr 2017  ·  2Komentar  ·  Sumber: patriksimek/vm2

Saya memiliki kasus uji sederhana di moka tetapi memberikan hasil yang sangat berbeda:

A. Kode Vanilla berjalan dengan baik!

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. Dalam Script Mocha ini, saya mendapatkan kesalahan baru

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. Kesalahan baru, yang hanya terjadi di Mocha

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

stale

Komentar yang paling membantu

Jika Anda meneruskan nama file ke vm.run , seperti vm.run(body, 'myFile.js') , itu hanya berfungsi.

Semua 2 komentar

Jika Anda meneruskan nama file ke vm.run , seperti vm.run(body, 'myFile.js') , itu hanya berfungsi.

Masalah ini secara otomatis ditandai sebagai basi karena tidak ada aktivitas terbaru. Ini akan ditutup jika tidak ada aktivitas lebih lanjut yang terjadi. Terima kasih atas kontribusi Anda.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat