TI我很新Python编程,并有一个问题,在试验使用Pytest. 在一个高水平,我有一个程序,需要3条的用户输入和产生的文本文件中结束。 对我的测试,我想基本上比较的文件,我的程式输出,它应该是什么。
现在,我不知道该如何去测试。 该程序本身没有争论,但是,仅仅依靠3条的用户输入的,这我将使用monkeypatch模拟。 我创建一个新的文件,叫蟒蛇program_test.py 和有办法在这里呼吁原来的计划? 我已经尝试了这个,但我有麻烦的实际调用原始程序和发送的模拟投入。 或者,我必须试验原计划(其中并没有多大意义,我).
我想事情是这样的:
import my_program
def test_1():
inputs = iter(['input1', 'input2', 'input3'])
monkeypatch.setattr('builtins.input', lambda x: next(inputs))
my_program
# now do some assertion with some file comparison
# pseudocode
assert filecompare.cmp(expectedfile, actualfile)
这似乎只是运行原来的计划,我认为它与进口的声明,即它永远不会运行test_1(),可能是因为我永远不会叫它? 任何帮助,将不胜感激!