我有一个功能
read_value_from_text()
从配置文件中读取参数并以此形式返回字典
{ key1 : value1, key2 : value2, ... , keyn : valuen }
值(value1 ... valuen)是表示数字的所有字符串。 我想写一个单元测试,检查所有值(value1,...,valuen)是否为“数字”(浮点数或整数)。有人可以建议一种有效的方法吗?
答案 0 :(得分:2)
你可以test whether a string is a number使用:
def is_number(s):
try:
float(s)
return True
except ValueError:
return False
is_number(x)
你可以这样做:
self.assertTrue(all(is_number(v) for v in d.itervalues()))
答案 1 :(得分:1)
def isNumeric(val):
if isinstance(val, (int, float)):
return True
try:
float(val)
except ValueError:
return False
else:
return True
样品测试:
d = {}
for v in d.itervalues():
self.assertTrue(isNumeric(v))
嗯,说实话,它是验证器,而不是单元测试。单元测试正在检查代码行为,您正在检查数据的正确性。
答案 2 :(得分:0)
for val in my_dict.values():
self.assertIsInstance(val, int)