我想要做一个断言,其中实际值在期望值的固定+/-值或期望值的百分比+/-值内。JUnit或Hamcrest是否有宽容断言?
虽然google搜索,我注意到NUnit的有应该是一个很好的语法:
Assert.That(5.5, Is.EqualTo(5).Within(0.075);
Assert.That(5.5, Is.EqualTo(5).Within(1.5).Percent;
是否JUnit的或Hamcrest有类似的东西,我可以使用?如果不是,有没有一种很好的方式来表达这种行为?
closeTo匹配器确实将两个值与固定的容差值进行比较。没有什么,也有百分比容差。 – algorithmic 2014-10-28 18:55:40
@algorithmic不幸的是,这样做并不容易,现成的方式,但看到我的编辑解决方案。 – Mureinik 2014-10-28 19:07:20
allOf,greaterThan和lessThan应该这样做,只要我计算期望值的百分比值,我期望公差处于和使用该值。如果我计算了我愿意容忍的百分比值,我想我也可以使用closeTo。我正在标记你的答案,因为这几乎是我想要的。 – algorithmic 2014-10-28 19:19:17