我在单独的.py文件中有许多测试用例,我想在我创建的模块上测试。所有这些文件都使用我创建的py模块,所有这些py文件将打印一个预先确定的输出(有些数千行)。
有没有办法运行运行这些其他测试.py脚本的.py脚本并检查输出?我研究过doctest和unittests,但是这些与特定函数有关而不是py脚本?
编辑:这些py文件打印输出而不是返回值。其中一些还使用多线程。
答案 0 :(得分:1)
试试这个
import glob
lst = glob.glob("/home/test/*.py")
for each_file in lst:
variables= {} #what ever variables to need run
execfile(each_file, variables )
答案 1 :(得分:1)
您需要做的是,您将通过
调用这些脚本 subprocess.Popen(['python',file_name],universal_newlines=True,stdout=stdout, stderr=stderr)
这些stdout
,stderr
都是文件对象,他们会将结果写入这些文件。然后,您可以使用sleep()
获得您认为最合适的时间。
之后,您可以打开这些文件并检查结果。
阅读有关子流程here的更多信息。