Я использую Angular 7 и использую Karma / Jasmine для проверки своего кода. У меня есть модуль вне моего Angular проекта, который я хочу протестировать с помощью Jasmine. Я сделал тестовый файл так:
describe('Server Config', () => {
const CONFIG_PATH: string = '../../../config/config.js';
beforeEach(() => {
delete require.cache[require.resolve(CONFIG_PATH)];
});
it('should test something', () => {
const config = require(CONFIG_PATH);
expect(config.test).toBe('test');
});
});
Структура моей папки:
config
- config.js
tests
unit
server
config.spec.ts
При запуске я получаю следующую ошибку:
Error: Cannot find module '../../../config/config.js'
error properties: Object({ code: 'MODULE_NOT_FOUND' })
Что не имеет смысла для меня. В моем файле config.js есть эта строка: module.exports = config;
. Я не могу изменить это на export default config
, потому что тогда это вызывает ошибки в других областях.
Я пытался использовать модуль path
для создания строки в config.js, но я получаю ту же ошибку.
Что я делаю не так? Как мне потребовать пользовательский модуль в моем тестовом файле?