Прежде всего, вы обычно не тестируете зависимости / методы зависимости. Вы только проверяете свой код.
Во-вторых, я думаю, вы говорите, что хотите проверить, вызывается redis.get()
или нет. Это означает, что вам придется spy
на это.
jest.spyOn()
это то, что вы должны проверить.
Ваш тест должен выглядеть примерно так:
import * as redis from 'redis';
describe('my redis wrapper', () => {
it('Should call get when my wrapper\'s getFunc is called', () => {
let myRedisSpy = jest.spyOn(redis.prototype, 'get');
// call your function here
expect(myRedisSpy).toHaveBeenCalledOnce();
});
});
Или что-то похожее, я не знаю, будет ли этот код работать как есть. Но вы всегда можете попробовать.
просто некоторые дальнейшие вопросы:
Я "отчасти" решил эту проблему. Если Вы используете "dcomcnfg" для изменения учетной записи для запуска приложения Excel к учетной записи пользователя, или "интерактивный пользователь" Excel, запущенный от сервиса, запускает в той учетной записи, и это теперь может получить доступ к файловой системе.
Проблема, это - глобальная установка. Если Вы используете: * "этот Пользователь": затем Excel ALWAYS открывается тем пользователем И всегда открывается без UI на сессии 0, даже для интерактивного использования Excel. IE его всегда невидимый. * "Интерактивный Пользователь": Now, который Excel всегда запускает в интерактивном пользователе accout, который я не думаю, будет работать на сервис, который запустится на начальной загрузке без интерактивного пользователя.
Должна быть некоторая настройка безопасности на этом. Я надеюсь, что у других есть другие идеи.