编写测试以检查是否安装了ffmpeg

时间:2018-11-07 08:43:11

标签: c# docker ffmpeg xunit

TLDR:我需要进行一项测试,以确保FooAsync()不在路径中时,FfmpegNotFoundInPathException会抛出ffmpeg


我有类似的方法:

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

如果FfmpegNotFoundInPathException不在路径中,则会抛出ffmpeg
我该如何为此编写测试?

(如果测试仅在docker内通过就可以了。我可以使用enter image description here有选择地跳过Docker之外的测试。)


为完整起见,FooAsync()看起来像这样:

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

({Cli来自Nate McMaster's xunit extensions。)

0 个答案:

没有答案