有关python assert函数的建议 [英] Suggestions for python assert function
本文介绍了有关python assert函数的建议的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在多个脚本中多次使用assert,我想知道是否有人对实现此目标的更好方法提出了建议,而不是我在下面创建的功能.
I'm using assert multiple times throughout multiple scripts, I was wondering if anyone has any suggestions on a better way to achieve this instead of the functions I have created below.
def assert_validation(expected, actual, type='', message=''):
if type == '==':
assert expected == actual, 'Expected: %s, Actual: %s, %s' %(expected, actual, message)
elif type == '!=':
assert expected != actual, 'Expected: %s, Actual: %s, %s' %(expected, actual, message)
elif type == '<=':
assert expected <= actual, 'Expected: %s, Actual: %s, %s' %(expected, actual, message)
elif type == '>=':
assert expected >= actual, 'Expected: %s, Actual: %s, %s' %(expected, actual, message)
def assert_str_validation(expected, actual, type='', message=''):
if type == '==':
assert str(expected) == str(actual), 'Expected: %s, Actual: %s, %s' %(expected, actual, message)
elif type == '!=':
assert str(expected) != str(actual), 'Expected: %s, Actual: %s, %s' %(expected, actual, message)
elif type == '<=':
assert str(expected) <= str(actual), 'Expected: %s, Actual: %s, %s' %(expected, actual, message)
elif type == '>=':
assert str(expected) >= str(actual), 'Expected: %s, Actual: %s, %s' %(expected, actual, message)
推荐答案
这当然更短了...您真的可以不只是使用assert expected == actual
还是脚本本身中的任何内容吗?
Well this is certainly shorter... can you really not just use assert expected == actual
or whatever in the scripts themselves?
def assert_validation(expected, actual, type='', message='', trans=(lambda x: x)):
m = { '==': (lambda e, a: e == a),
'!=': (lambda e, a: e != a),
'<=': (lambda e, a: e <= a),
'>=': (lambda e, a: e >= a), }
assert m[type](trans(expected), trans(actual)), 'Expected: %s, Actual: %s, %s' % (expected, actual, message)
def assert_str_validation(expected, actual, type='', message=''):
assert_validation(expected, actual, type, message, trans=str)
这篇关于有关python assert函数的建议的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文