refactorar para usar framework pytest, em vez de unittest

This commit is contained in:
2025-04-21 20:49:41 +01:00
parent fb2d26820b
commit a783d5ce34

View File

@ -1,28 +1,48 @@
import unittest
import tempfile
from pathlib import Path
import pytest
# from pathlib import Path
from modules.copier import copiar_ficheiros_para_destino
# import tempfile
# class TestCopier(unittest.TestCase):
# def setUp(self) -> None:
# self.origem = tempfile.TemporaryDirectory()
# self.destino = tempfile.TemporaryDirectory()
# (Path(self.origem.name) / "teste.txt").write_text("conteudo")
#
# def tearDown(self) -> None:
# self.origem.cleanup()
# self.destino.cleanup()
#
# def test_copiar_ficheiros_para_destino(self):
# ficheiros = [str(f) for f in Path(self.origem.name).iterdir()]
# copiar_ficheiros_para_destino(
# ficheiros, self.destino.name, categorizar_data=False
# )
# copiados = list(Path(self.destino.name).rglob("teste.txt"))
# self.assertEqual(len(copiados), 1)
# self.assertTrue(copiados[0].exists())
#
#
# if __name__ == "__main__":
# unittest.main()
class TestCopier(unittest.TestCase):
def setUp(self) -> None:
self.origem = tempfile.TemporaryDirectory()
self.destino = tempfile.TemporaryDirectory()
(Path(self.origem.name) / "teste.txt").write_text("conteudo")
def test_copiar_ficheiros_para_destino(tmp_path):
origem = tmp_path / "origem"
destino = tmp_path / "destino"
origem.mkdir()
destino.mkdir()
def tearDown(self) -> None:
self.origem.cleanup()
self.destino.cleanup()
ficheiro = origem / "foto.jpg"
ficheiro.write_text("conteudo")
lista_ficheiros = [str(ficheiro)]
def test_copiar_ficheiros_para_destino(self):
ficheiros = [str(f) for f in Path(self.origem.name).iterdir()]
copiar_ficheiros_para_destino(
ficheiros, self.destino.name, categorizar_data=False
)
copiados = list(Path(self.destino.name).rglob("teste.txt"))
self.assertEqual(len(copiados), 1)
self.assertTrue(copiados[0].exists())
lista_ficheiros, str(destino), categorizar_data=False)
if __name__ == "__main__":
unittest.main()
# verificar se ficheiro foi copiar
ficheiro_destino = destino / "imagem" / ficheiro.name
assert ficheiro_destino.exists()
assert ficheiro_destino.read_text() == "conteudo"