Python中相当于NUnit或Jasmine的断言是什么?

6 投票
1 回答
664 浏览
提问于 2025-04-21 01:32

在使用Python的unittest框架时,我发现它在写单元测试的断言(也就是验证代码是否按预期工作的部分)时,没有像NUnitJasmine那样简洁明了的写法。

# NUnit
Expect(collection, Has.None.EqualTo(DateTime.Now).Within(3).Hours);

# Jasmine
expect(pi).not.toBeCloseTo(e, 2);

有没有现成的Python库可以提供这样的断言方法,最好是能和Python的unittest库兼容的?

1 个回答

0

那< a href="https://github.com/hamcrest/PyHamcrest" rel="nofollow noreferrer">PyHamcrest怎么样呢?

assert_that(biscuit, equal_to(biscuit))
assert_that(biscuit, instance_of(Biscuit))
assert_that(biscuit, is_in(jar))

更多的匹配器可以查看这里:https://github.com/hamcrest/PyHamcrest#predefined-matchers

撰写回答