Вот простой рабочий пример:
code.js
const path = require('path');
export const func = () => path.sep === '/' ? 'foo' : 'bar';
code.test.js
const path = require('path');
import { func } from './code';
test('func', () => {
path.sep = '/';
expect(func()).toBe('foo'); // Success!
path.sep = '\\';
expect(func()).toBe('bar'); // Success!
});
Похоже, это также работает, если вы используете
import path from 'path';
... но это не работает (по крайней мере, в моей среде) с
import * as path from 'path';
(Поскольку path
в настоящее время не является модулем ES6, транспортер должен выполнить некоторую работу, чтобы заставить работать синтаксис импорта ES6, и import * as path from 'path';
должен быть перенесен таким образом, который нарушает описанный выше подход.)