Напишите тесты, чтобы проверить, установлен ли ffmpeg - PullRequest
0 голосов
/ 07 ноября 2018

TLDR: мне нужен тест, который гарантирует, что FooAsync() сгенерирует FfmpegNotFoundInPathException, если ffmpeg не в пути.


У меня есть такой метод:

public Task FooAsync() { /* ... */ }

, который выбрасывает FfmpegNotFoundInPathException, если ffmpeg не в пути.
Как мне написать тесты для этого?

(Это нормально, если тест проходит только в Docker. Я могу выборочно пропустить тест вне Docker, используя Расширения xunit Нейта Макмастера .)


Для полноты FooAsync() выглядит примерно так:

public async Task FooAsync()
{
    try
    {
        new Cli("ffmpeg")
            .SetArguments(args)
            .EnableStandardErrorValidation(false)
            .ExecuteAsync();
    }
    catch (Exception e)
    {
        // ...
        throw new FfmpegNotFoundInPathException(e);
    }
}

(Cli из пакета CliWrap .)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...