Лучшей практикой является тестирование черного ящика, но можно обернуть внутренней функцией в шпионе и проверить значение, которое она возвратила, используя spy.returnValues
:
lib.js
export const libFunc = () => 'the value';
code.js
import { libFunc } from './lib';
export const func = () => {
// ...do stuff...
const value = libFunc();
// ...do more stuff...
}
code.test.js
import * as sinon from 'sinon';
import * as lib from './lib';
import { func } from './code';
test('func', () => {
const spy = sinon.spy(lib, 'libFunc'); // spy on libFunc
func(); // call func which calls libFunc
expect(spy.returnValues[0]).toBe('the value'); // SUCCESS
});