TI am, celkom nový Python Programovanie a mám otázku na testovanie pomocou Pytest. V high-level, mám program, ktorý trvá 3 kusy vstup užívateľa a vytvorí textový súbor, v konci. Pre moje testy, chcem v podstate porovnávať súbory môj program výstup, s tým, čo by to malo byť.
Teraz, nie som si istý, ako ísť o testovaní. Samotný program trvá žiadne argumenty, ale len spolieha na 3 kusy vstup užívateľa, ktorý budem používať monkeypatch simulovať. Môžem vytvoriť nový python súbor s názvom program_test.py a majú metódy v tu, že hovor pôvodný program? Snažil som sa na to, ale mám problém vlastne volá pôvodný program a odosielanie v simulovanom vstupy. Alebo, mám skúšky v pôvodnom programe (ktorý nemá veľmi zmysel pre mňa).
Chcem niečo ako 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 len zdá byť spustený pôvodného programu, a myslím, že jeho robiť s dovozom vyhlásenie, t. j. nikdy nie je spustený test_1(), pravdepodobne preto, že nikdy som to nazvať? Akúkoľvek pomoc, chcel by som byť ocenil!