mocha์ ๊ฐ๋จํ ํ ์คํธ ์ผ์ด์ค๊ฐ ์์ง๋ง ๋งค์ฐ ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
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)
})
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()
})
})
})
VMError: You must specify script path to load relative modules.
vm.run(body, 'myFile.js')
์ ๊ฐ์ด $ vm.run
์ ํ์ผ ์ด๋ฆ์ ์ ๋ฌํ๋ฉด ์ ๋๋ก ์๋ํฉ๋๋ค.
์ด ๋ฌธ์ ๋ ์ต๊ทผ ํ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ค๋๋ ๊ฒ์ผ๋ก ํ์๋์์ต๋๋ค. ๋ ์ด์ ํ๋์ด ์์ผ๋ฉด ํ์๋ฉ๋๋ค. ๊ทํ์ ๊ธฐ์ฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
vm.run(body, 'myFile.js')
์ ๊ฐ์ด $vm.run
์ ํ์ผ ์ด๋ฆ์ ์ ๋ฌํ๋ฉด ์ ๋๋ก ์๋ํฉ๋๋ค.