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 .)