TI jsem docela nový Python Programování a máte dotaz na testování pomocí Pytest. V high-level, mám program, který trvá 3 kusy vstup uživatele a generuje textový soubor na konci. Pro mé testy, já chci v podstatě porovnat soubory, které svůj program shrnuje, co by to mělo být.
Teď, nejsem si jistý, jak jít o testování. Samotný program trvá žádné argumenty, ale jen spoléhá na 3 kusy vstup uživatele, který budu používat monkeypatch simulovat. Vytvořit nový soubor s názvem python program_test.py a metody v tu, která hovor původní program? Zkoušel jsem to, ale mám problémy vlastně volá původní program a odesílání v simulované vstupy. Nebo, mám testy v původní program (což nedává moc smysl).
Chci něco jako toto:
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)
To jen se zdá být běží původní program a myslím, že s dovozní prohlášení, tj. je nikdy běží test_1(), asi proto, že jsem nikdy říkat? Jakýkoliv pomoci chtěl bych být ocenil!