數據驅動+關鍵字驅動=混合驅動app
#數據驅動模型 import traceback #測試數據 with open("D:\\aaa.txt") as fp: data = fp.readlines() #被測試對象 def add(a, b): return a+b def sub(a,b): return a-b def execute_test_step(func_name,value1,value2): test_data= "%s(%s,%s)" %(func_name,value1,value2) print("關鍵字的數據:",test_data) actual_result = eval(test_data) return actual_result def get_test_data(test_data_file_path): test_data = [] with open(test_data_file_path) as fp: for i in fp.readlines(): param1,param2,expect_result = i.strip().split("||") test_data.append((int(param1),int(param2),int(expect_result))) return test_data def assert_result(actual_result,expected_result,func_name,value1,value2): try: assert actual_result == int(expected_result) print("測試執行成功,測試數據是%s,%s,%s" %(func_name,value1,value2)) except AssertionError: print("當前測試用例執行失敗,測試數據是%s,%s,%s" %(func_name,value1,value2)) print("指望的結果%s,實際的結果%s" %(expected_result,actual_result)) #測試程序: for line in data: if len(line.strip().split("||"))==4: func_name,value1,value2,expected_result = line.strip().split("||") actual_result = execute_test_step(func_name,value1,value2) assert_result(actual_result,expected_result,func_name,value1,value2) print("________________________________________________") elif len(line.strip().split("||"))==2: func_name,data_file_path = line.strip().split("||") test_data = get_test_data(data_file_path) for data in test_data: actual_result=execute_test_step(func_name,data[0],data[1]) assert_result(actual_result,data[2],func_name,data[0],data[1]) print("________________________________________________") else: print("$$$$$$$$$$$$$$",data)