python的简单check runner
checkrunner的Python项目详细描述
python的一个非常简单的check runner。我在需要在执行某些操作(通常是在调用时)之前运行一组检查的项目中使用此选项。这样,检查被保存在一个类中,不需要特殊的逻辑来单独运行它们。
支持Python2和3(在2.7和3.4上测试)。
用法
创建checkrunner的子类并声明您的支票:
from checkrunner import CheckRunner class MyChecks(CheckRunner): @staticmethod def check_that_passes(): return True, 'this check passed!' @staticmethod def check_that_fails(): return False, 'this check failed!' print(MyChecks.run()) # (False, ['this check failed!']) print(MyChecks.run(return_passed=True)) # (False, ['this check passed!', 'this check failed!'])
当所有的检查都通过时,它将以空列表返回true(除非您设置return_passed):
from checkrunner import CheckRunner class MyChecks(CheckRunner): @staticmethod def check_that_passes(): return True, 'this check passed!' print(MyChecks.run()) # (True, [])
您可以将关键字参数传递给检查(它们将被发送到每个检查):
from checkrunner import CheckRunner class MyChecks(CheckRunner): @staticmethod def check_foo(foo=None): if foo: return True, foo else: return False, foo print(MyChecks.run(foo='bar', return_passed=True)) # (True, ['bar'])
类方法也有效:
from checkrunner import CheckRunner class MyChecks(CheckRunner): foo = 'bar' @classmethod def check_class(cls): return True, cls.foo print(MyChecks.run(return_passed=True)) # (True, ['bar'])
您也可以在第二个参数中返回您喜欢的任何内容,它不必是字符串。
测试
测试使用的是流浪者,毒物和脓毒性试验。如果您已经有了vagrant,那么您自己运行测试非常简单:
$ vagrant up $ vagrant ssh (dev) vagrant@debian-8:~$ cd ~/src (dev) vagrant@debian-8:~/src$ tox