我对pytest有疑问。我有一个程序,当我在终端上运行时工作正常:
"python ./solution/program1.py ./data/set.data 15 123 output-1.txt"
这里
program1.py - program name
set.data - input data set
15 - input program parameter
123 - input program parameter
output-1.txt- output file
为程序生成输出文件。
我有一个检查我的结果的pytest。这不适用于pytest。 当我运行pytest时,没有输出,pytest继续运行而没有任何结果。我必须手动停止它。有什么方法可以解决它吗?
Pytest:
import subprocess, os
def test_kmeans():
file_name = "output-1.txt"
command="python ./solution/program1.py ./data/set.data 15 123 {}".format(file_name)
process = subprocess.Popen(command, shell=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
code=process.wait()
assert(not code), "Command failed"
assert(open(file_name,"r").read()==open("tests/final-results.txt","r").read())