与NUnit延迟约束等效的Fluent Assertions实现方案咨询
NUnit延迟断言转Fluent Assertions实现方案
完全可以实现等效效果,Fluent Assertions本身内置了轮询延迟断言的原生能力,无需额外自定义扩展。
等效实现代码
(() => vehicleInfo.Exists(x => x.ImageId == fileName)).Should().BeTrue() .WithTimeout(30000) .WithRefreshInterval(5000);
参数对应说明
WithTimeout(30000):对应原NUnit代码中的delayInMilliseconds: 30000,设置断言最长等待时间为30秒,超时后条件仍不满足则断言失败。WithRefreshInterval(5000):对应原NUnit代码中的pollingInterval: 5000,设置每5秒轮询一次检查条件是否成立。
该实现逻辑和原NUnit的Is.True.After约束完全一致,会在超时时间内反复轮询验证条件,只要在超时前条件满足就返回断言成功。
内容的提问来源于stack exchange,提问作者purplized
相关产品推荐
相关产品推荐

