Код:
def readfile_reverse(inf, ouf):
for line in inf.readlines()[::-1]:
ouf.write(line)
Тест:
import pytest
import sys
from os import getcwd, path
from quiz244 import readfile_reverse
@pytest.fixture
def file_quiz244_in():
with open(path.join(getcwd(), "test", ".data", "quiz244_in.txt")) as tinf:
yield tinf
@pytest.fixture
def file_quiz244_out():
with open(path.join(getcwd(), "test", ".data", "quiz244_out.txt")) as touf:
yield touf
def test_readfile_reverse(capsys, file_quiz244_in, file_quiz244_out):
readfile_reverse(file_quiz244_in, sys.stdout)
capture = capsys.readouterr()
assert("".join(file_quiz244_out.readlines()) == capture.out)
Пример надуманный, конечно. Но... кому вообще нужно модульное тестирование? Да и тестировщики в частности... Зачем они? Программист лучше знает, что у него с приложением не так, если делал проект с нуля.