在python中创建testsuite
我有python脚本,比如a.py、b.py、c.py,它们位于目录a中: 我想创建一个测试套件,它将按顺序执行所有这些python脚本。 这些脚本不是单元测试。这些是常规的python脚本 请让我知道如何在测试套件中运行它们并在执行后生成报告在python中创建testsuite,python,Python,我有python脚本,比如a.py、b.py、c.py,它们位于目录a中: 我想创建一个测试套件,它将按顺序执行所有这些python脚本。 这些脚本不是单元测试。这些是常规的python脚本 请让我知道如何在测试套件中运行它们并在执行后生成报告 感谢您的时间我认为您想要的实际上是在shell上完成的,如果您在Windows上,则是在命令行上完成的。您可以循环浏览每个文件并按顺序执行每个脚本。然后,通过使用python中的open()命令,您可以让实际生成的报告在完成处理后保存到文件中 bash脚
感谢您的时间我认为您想要的实际上是在shell上完成的,如果您在Windows上,则是在命令行上完成的。您可以循环浏览每个文件并按顺序执行每个脚本。然后,通过使用python中的open()命令,您可以让实际生成的报告在完成处理后保存到文件中 bash脚本的语法是
for file in /path/to/dir_with_files/*.py;
do;
python $file;
done;
它将使用程序在文件中循环,并执行以.py扩展名结尾的每个程序
现在,在使用上述脚本测试和执行所有测试和执行之后,向您自己发送一份报告。要做到这一点,你需要做两件事
results = open('results.txt', 'w')
results.write('results') #This is going to need to be what the results of
#the test are, I.E. the numbers it produces, or such
results.close()
您只需将其添加到每个脚本的末尾,即可创建一个文本文件,然后使用步骤2发送该文件
第二步有点棘手。要做到这一点,您需要两件事情之一,一个模块与您使用的任何邮件客户端(gmail、comcast、yahoo等)交互,或者您自己的SMTP服务器从那里发送邮件。如果使用后者,Python有一个内置模块来处理这个问题
现在,如果您想与邮件客户端交互,您需要下载一个模块并安装所述模块以供使用。例如,gmail有,它将你登录到他们的服务中,并通过他们的服务器发送消息。我相信大多数流行的电子邮件客户端都会有这样一个模块,所以只需谷歌搜索一下就可以了。这比方法1简单得多,因为您不需要SMTP服务器 我认为您想要的实际上是在shell上完成的,如果您在Windows上,则是在命令行上完成的。您可以循环浏览每个文件并按顺序执行每个脚本。然后,通过使用python中的open()命令,您可以让实际生成的报告在完成处理后保存到文件中 bash脚本的语法是
for file in /path/to/dir_with_files/*.py;
do;
python $file;
done;
它将使用程序在文件中循环,并执行以.py扩展名结尾的每个程序
现在,在使用上述脚本测试和执行所有测试和执行之后,向您自己发送一份报告。要做到这一点,你需要做两件事
results = open('results.txt', 'w')
results.write('results') #This is going to need to be what the results of
#the test are, I.E. the numbers it produces, or such
results.close()
您只需将其添加到每个脚本的末尾,即可创建一个文本文件,然后使用步骤2发送该文件
第二步有点棘手。要做到这一点,您需要两件事情之一,一个模块与您使用的任何邮件客户端(gmail、comcast、yahoo等)交互,或者您自己的SMTP服务器从那里发送邮件。如果使用后者,Python有一个内置模块来处理这个问题
现在,如果您想与邮件客户端交互,您需要下载一个模块并安装所述模块以供使用。例如,gmail有,它将你登录到他们的服务中,并通过他们的服务器发送消息。我相信大多数流行的电子邮件客户端都会有这样一个模块,所以只需谷歌搜索一下就可以了。这比方法1简单得多,因为您不需要SMTP服务器 您还可以像这样编写其他python文件:
import subprocess as sb # use shell cmds
import os # list directory
file_output = open("myOutput.txt", "w") # output file
for f in os.listdir("path/to/the/directory"): # you can use "."
if (f.endswith(".py")): # for each python file
file_output.write("Execution of "+f+"\n\n") # write the name
file_output.write(sb.getoutput("python "+f)+"\n\n") # write output
file_output.close()
您还可以像这样编写其他python文件:
import subprocess as sb # use shell cmds
import os # list directory
file_output = open("myOutput.txt", "w") # output file
for f in os.listdir("path/to/the/directory"): # you can use "."
if (f.endswith(".py")): # for each python file
file_output.write("Execution of "+f+"\n\n") # write the name
file_output.write(sb.getoutput("python "+f)+"\n\n") # write output
file_output.close()
你知道,回答回答你问题的人是礼貌的。这将帮助你得到更好的回答,因为人们会从你的互动中获得更多的信息。你知道,回答回答你问题的人是礼貌的。这将帮助你获得更好的回应,因为人们会从你的互动中获得更多。嗨,马特,谢谢你的回应。这可能是一个可能的解决方案,但我也希望能够生成某种报告,并通过emailHi Matt发送给我自己,感谢您的回复。这可能是一个可能的解决方案,但我也希望能够生成某种报告,并通过EmailThank boudou发送给我自己。这是有用的,谢谢你。这很有帮助