Требовать и импортировать находит модуль, а proxyquireify нет?
Как следует из вопроса, запрос / импорт модуля работает нормально в следующих случаях:
const Session = require('../session.js').default;
или же
import Session from '../session.js');
Но я хочу заменить модуль, который требуется внутри session.js, поэтому я попытался сделать это в тесте с Proxyquireify:
const proxyquire = require('proxyquireify')(require);
const someStub = () => { return {}; };
someStub['@noCallThru'] = true;
const Session = proxyquire('../session.js', {
'some': someStub
}).default;
Затем я получаю сообщение об ошибке, указывающее, что модуль "../session.js" не может быть найден.
PhantomJS 1.9.8 (Linux 0.0.0) ERROR
Error: Cannot find module '../session.js'
Мой конфиг кармы такой:
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['browserify', 'jasmine'],
files: [
'spec/**/*Spec.js'
],
exclude: [
'spec/**/PlayerSpec.js'
],
preprocessors: {
'spec/**/*Spec.js': ['browserify']
},
browserify: {
debug: true,
transform: ['babelify']
},
reporters: ['progress', 'dots'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['PhantomJS'],
singleRun: false,
concurrency: Infinity
})
};
Что может быть не так? Вам нужна дополнительная информация?
1 ответ
Просто наткнулся на ту же проблему. Заметил, что proxyquireify не вводил require
звонки рядом с proxyquire
по какой-то причине, поэтому я просто сделал это сам, по крайней мере сейчас. Попробуйте использовать что-то вроде этого:
require('../session.js');
const Session = proxyquire('../session.js', ...);