Zapytałem this pytanie o to, jak napisać monit, aby sprawdzić wyjście w stdout
i otrzymałem rozwiązanie. Teraz muszę napisać test case
, aby sprawdzić, czy zawartość są zapisywane w pliku i że zawartość są zapisywane zgodnie z oczekiwaniami npnapisanie funkcji pytest, aby sprawdzić wyjście do pliku w python?
def writetoafile():
file = open("output.txt",w)
file.write("hello\n")
file.write("world\n")
file.close()
teraz funkcją pytest aby sprawdzić, czy to napisane:
def test_writeToFile():
file = open("ouput.txt",'r')
expected = "hello\nworld\n"
assert expected==file.read()
podczas gdy to wydaje się działać, nie sądzę, że jest to idealne, zwłaszcza trudne kodowanie. w jaki sposób zapisuje się ten typ pliku w typowym pliku test functions
?
Dlaczego nie byłby idealny? Napisałeś, że chcesz sprawdzić, czy zawartość jest zapisana zgodnie z oczekiwaniami, więc przeglądanie pliku i sprawdzanie wydaje się najlepszą opcją. Zawsze możesz utworzyć zmienną z serią losowych znaków i sprawdzić, czy została napisana pomyślnie; możesz sprawdzić "expected in file.read()", aby sprawdzić, czy dane zostały dołączone (ale użyłeś flagi 'w', więc jest to zły test); itp. Co chcesz przetestować, jeśli nie to? Być może to, co chcesz, to prawdziwe pytanie, tak jak w większości testów. –