👨💻 O que foi desenvolvido
Neste projeto: implementacoes de um programa que simule um algoritmo de indexação de documentos similar ao do Google. Seu programa deverá ser capaz de identificar ocorrências de termos em arquivos _TXT_.
📝 Tecnologias Utilizadas:
- Python
📝 Habilidades Desenvolvidas:
-
Manipular Pilhas;
-
Manipular Deque;
-
Manipular Nó & Listas Ligadas e;
-
Manipular Listas Duplamente Ligadas.
🏕️ Ambiente Virtual
O Python oferece um recurso chamado ambiente virtual que permite sua máquina rodar, sem conflitos, diferentes tipos de projetos com diferentes versões de bibliotecas. Para utilizar este recurso siga os passos a seguir:
- criar o ambiente virtual
$ python3 -m venv .venv
- ativar o ambiente virtual
$ source .venv/bin/activate
- instalar as dependências no ambiente virtual
$ python3 -m pip install -r dev-requirements.txt
Com o seu ambiente virtual ativo as dependências serão instaladas neste ambiente.
👀 Caso precise desativar o ambiente virtual execute o comando "deactivate".
O arquivo dev-requirements.txt
contém todas as dependências que serão utilizadas no projeto, ele está agindo como se fosse um package.json
de um projeto Node.js
.
🛠 Testes
👀 Para executar os testes certifique-se de que você está com o ambiente virtual ativado.
Executar os testes
$ python3 -m pytest
O arquivo pyproject.toml
já configura corretamente o pytest. Entretanto, caso você tenha problemas com isso e queira explicitamente uma saída completa, o comando é:
python3 -m pytest -s -vv
Caso precise executar apenas um arquivo de testes basta executar o comando:
python3 -m pytest tests/nomedoarquivo.py
Caso precise executar apenas uma função de testes basta executar o comando:
python3 -m pytest -k nome_da_func_de_tests
Se desejar que os testes parem de ser executados quando acontecer o primeiro erro, use o parâmetro -x
python3 -m pytest -x tests/nomedoarquivo.py
Para executar um teste específico de um arquivo, basta executar o comando:
python3 -m pytest tests/nomedoarquivo.py::test_nome_do_teste
Se quiser saber mais sobre a instalação de dependências com pip
, veja esse artigo.