1. # @Time : 2022/9/1 10:14
    2. # @Author : Andrew
    3. # 文本文件
    4. def computer(data1, oper, data2):
    5. if oper == "+":
    6. result = data1 + data2
    7. elif oper == "-":
    8. result = data1 - data2
    9. elif oper == "*":
    10. result = data1 * data2
    11. elif oper == "/":
    12. result = data1 / data2
    13. elif oper == "%":
    14. result = data1 % data2
    15. else:
    16. result = -1
    17. return result
    18. #input: txt file output: list
    19. def readFile(file):
    20. fp=open(file,'r',encoding='utf-8')
    21. caseList = fp.readlines()
    22. fp.close()
    23. return caseList
    24. def writeFile(file,mode,str):
    25. fp=open(file,mode,encoding='utf-8')
    26. fp.write(str)
    27. fp.close()
    28. caseList=readFile('./testCase.txt') #1.读取测试数据
    29. Title=caseList.pop(0)
    30. Title=Title.replace('\n','')
    31. mystr=Title+","+"ActuralResult"+","+"Status\n"
    32. for case in caseList:
    33. caseID,caseName,data1,oper,data2,exResult=case.split(',') #2. 测试数据解析
    34. acResult=computer(int(data1),oper,int(data2)) #3. 调用被测试对象computer,并且传参,得到实际结果
    35. case=case.replace('\n','')
    36. if int(exResult)==acResult: #4. 比较实际结果和期望结果
    37. mystr=mystr+f"{case},{acResult},{'Pass'}\n"
    38. else:
    39. mystr=mystr+f"{case},{acResult},{'Fail'}\n"
    40. fp2=writeFile('./testReport.txt','a',mystr)
    1. # @Time : 2022/8/31 19:46
    2. # @Author : Andrew
    3. import time
    4. def computer(data1,oper,data2):
    5. if oper=="+":
    6. result=data1+data2
    7. elif oper=="-":
    8. result=data1-data2
    9. elif oper=="*":
    10. result=data1*data2
    11. elif oper=="/":
    12. result=data1/data2
    13. elif oper=="%":
    14. result=data1%data2
    15. else:
    16. result=-1
    17. return result
    18. fp=open(r'testCase.txt', 'r', encoding='utf-8')
    19. fp1=open(r'testCase2.txt', 'w', encoding='utf-8')
    20. fp1.write('time,caseID,CaseName,Data1,Oper,Data2,ExpecteResult,ActuralResult,Status\n')
    21. for i in range(4):
    22. result = fp.readline()
    23. if i>0:
    24. caseID,CaseName,Data1,Oper,Data2,ExpecteResult=result.split(',')#1,add_正整数,100,+,200,300
    25. acturalResult=computer(int(Data1),Oper,int(Data2))
    26. if acturalResult==int(ExpecteResult):
    27. status='pass'
    28. else:status='block'
    29. systemTime=time.strftime('%Y-%m-%d %H-%M-%S')
    30. fp1.write(f'{systemTime},{caseID},{CaseName},{Data1},{Oper},{Data2},{int(ExpecteResult)},{acturalResult},{status}\n')