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