TLDR:我需要进行一项测试,以确保FooAsync()
不在路径中时,FfmpegNotFoundInPathException
会抛出ffmpeg
。
我有类似的方法:
public Task FooAsync() { /* ... */ }
如果FfmpegNotFoundInPathException
不在路径中,则会抛出ffmpeg
。
我该如何为此编写测试?
(如果测试仅在docker内通过就可以了。我可以使用有选择地跳过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。)