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