如何修复程序与Pytest一起工作?手动运行时工作正常

时间:2018-04-19 21:19:56

标签: python pytest

我对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())

0 个答案:

没有答案