关键字驱动小例子_example2
compute.py #该文件用来存被测函数 #encoding=UTF-8 import random import re def add(a,b): c=int(a) d=int(b) print c+d return c+d def sub(a,b): c=int(a) d=int(b) print c-d return c-d def mul(a,b,c): d=int(a) e=int(b) f=int(c) return d*e*f def abs_value(a): return abs(int(a)) def random_value(): return random.randint(1,1000) def assert_value(actual_value,expected_value): expected_value = str(expected_value).strip() actual_value = str(actual_value) if re.search(r"\\|\*|\.|\?",expected_value):#看预期结果是否是个正则表达式,看里面是否含有.*?斜杠中的任意一个 #.匹配除换行符之外的任意1个字符 .不能匹配回车; #\d 匹配中任意一个数字,范围为[0-9] #*(星号) 匹配前一个字符0次1次或多次 #?匹配前一个字符0次或1次 #竖线表示或,都表示第1个位置 if re.match(expected_value,actual_value): return True else: return False if actual_value==expected_value: return True else: return False #------------------------------------------------------------------------------------------------- data.txt #将该txt文件存于电脑E盘根目录下 add,1,2,3 sub,2,1,1 mul,1,2,3,6 abs_value,-1,1 random_value,\d+ #-------------------------------------------------------------------------------------------------- test.py #要运行的程序 #encoding=UTF-8 from compute import * test_case_num = 0 success_test_case =0 faile_test_case = 0 with open("e:\\data2.txt") as f: for line in f: test_case_num+=1 func_name = line.split(",")[0] value = ",".join(line.split(",")[1:-1]) expect_value = line.split(",")[-1] s= func_name+"("+value+")" actual_result=eval(s) if assert_value(actual_result,expect_value): success_test_case+=1 else: faile_test_case +=1 print "total %s test cases runned" % test_case_num print "total %s succeeded test cases runned" % success_test_case print "total %s failed test cases runned" % faile_test_case
大圣此去欲何?踏南天,碎凌霄!若大圣此去不返……?便一去不返!
浙公网安备 33010602011771号