Python Programlamasında oldukça yeniyim ve Pytest kullanarak test etme konusunda bir sorum var. Üst düzeyde, 3 adet kullanıcı girişi alan ve sonunda bir metin dosyası oluşturan bir programım var. Testlerim için, temel olarak programımın çıkardığı dosyaları, olması gerekenlerle karşılaştırmak istiyorum.
Şimdi, teste nasıl devam edeceğimden emin değilim. Programın kendisi herhangi bir argüman almaz, ancak simüle etmek için monkeypatch kullanacağım 3 adet kullanıcı girdisine dayanır. Adında yeni bir python dosyası oluşturuyor muyum program_test.py ve burada orijinal programı çağıran yöntemler var mı? Bunu denedim, ancak orijinal programı çağırmakta ve simüle edilmiş girdileri göndermekte sorun yaşıyorum. Ya da orijinal programda testlerim var mı (ki bu benim için pek mantıklı değil).
Bunun gibi bir şey istiyorum :
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)
Bu sadece orijinal programı çalıştırıyor gibi görünüyor ve sanırım import ifadesiyle ilgisi var, yani asla test_1 () çalıştırmıyor, muhtemelen hiç çağırmadığım için mi? Herhangi bir yardım takdir edilecektir!