断言库(骨架)灵感来自“assertpy”,但没有电池
simple-assertions的Python项目详细描述
简单断言
断言库(骨架)灵感来自assertpy,但没有电池!还允许将所有断言转换为警告,就像延迟断言一样。在
动机
assertpy
是一个很漂亮的库,但是由于我的需要太多了,我真的很喜欢
assertpy
所以我创建了一个新模块,原因如下
请检查tests/test_*.py
中的用例。在
- 我希望
assert_warn
是动态的,也就是说,在给定的条件下,所有断言都将转换为 警告。- 我添加了
ASSERT_ERROR_AS_WARNING
变量,它可以做到这一点!在 - 修改了要使的
assert_that
API是基于调用的assert_that(.., as_warn=True)
- 我添加了
- 扩展是可能的,但我想要更直观的逻辑
- 我公开了
SimpleAssertions
类,并继承它来添加新方法
- 我公开了
assert_that
在assertpy
中创建类的新实例,并在每个 打电话给我,我不想那样!- 通过公开
SimpleAssertion
类,您只需将其作为断言类的一部分
- 通过公开
Note: earlier i used
assert_that
keyword fromassertpy
but i felt like it's copying from other library , so i changedassert_that
tocheck
, while reading this gives same amount of experience but saved 6 chars!
安装
pip install simple-assertions
使用
请检查tests
文件以了解更多用法这里只是基本用法
作为函数
只需导入check
函数,然后就可以。。。在
作为实例
fromsimple_assertionsimportSimpleAssertionsclassYourTestClass:def__init__(self):self.check=SimpleAssertions().checkdeftest_something(self):self.check(4+10).is_equal_to(14)self.check(1).is_instance_of(int)self.check(3,"lucky_num",as_warn=True).is_equal_to(4)
添加自己的电池
fromsimple_assertionsimportSimpleAssertionsfromtypingimportUnionclassYourAssertions(SimpleAssertions):def__init__(self,as_warn=False,logger=None):super().__init__(as_warn,logger)defis_greater_than(self,other:Union[int,float]):ifself.val_to_chk.val<other:self.raise_err(self.compare_err_msg(other,"to be greater than"))returnselfclassYourTestClass:def__init__(self):self.check=YourAssertions().checkdeftest_something(self):self.check(4+10).is_greater_than(10).is_equal_to(14)self.check(1).is_instance_of(int)self.check(3,"lucky_num",as_warn=True).is_equal_to(4)
虽然只检查了unittests
,但它应该可以与pytest或{a4}一起使用。在
- 项目
标签: