Result<(),...> {
....
match path.symlink_metadata() {
....
}
....
}
Как лучше сделать для неё юнит-тест, а именно замокать вызов symlink_metadata (или весь Path?) .
Если переопределять Path с помошью cfg_if, то везде где она используется в проекте - всё разваливается, т.к. это другой тип становится, и приходится во всем проекте делать #[cfg(not(test))] чтобы оно вообще собралось.
А хочется чтобы это как-то в рамках конкретного модуля теста оставалось, чтоли... Или я куда-то не туда думаю?
Сделай свой трейт, имеющий функцию symlink_metadata() и т.п., принимай в этом методе тип Т реализующий этот трейт. Всё, теперь можно тестировать спокойно
Обсуждают сегодня