Este projeto gera um relatório Markdown com base na execução do pytest. Desenvolvido em rust o projeto também conta com a possibilidade de customização.
O primeiro caso de uso é deixar a ferramenta no automático
as configurações neste caso ficam da seguinte forma
key | value |
---|---|
output | ./report.md |
no-auto | false |
target-folder | ./ |
config-file | does not exist |
passed | ✅ |
failed | ❌ |
skipped |
Uso:
pytest_markdown_report
Neste modo o programa não irá executar o pytest automaticamente, então você precisa passar a saída do pytest para o programa.
Quando este modo é ativo a configuração de no-auto deve ser true.
key | value |
---|---|
no-auto | true |
Uso:
pytest -v | pytest_markdown_report --no-auto
Ou:
pytest -v > report.txt
cat report.txt | pytest_markdown_report --no-auto
Note que o pytest deve ser chamado com a flag -v para o programa funcionar
Você pode utilizar várias configurações juntas.
Execute pytest_markdown_report -h
ou --help
para obter ajuda:
pytest_markdown_report -h
saída:
pytest markdown report
Usage: pytest_markdown_report [OPTIONS]
Options:
-o, --output <OUTPUT> [default: report.md]
--no-auto Turn off auto run command pytest
-t, --target-folder <TARGET_FOLDER> directory where the tests are [default: ./]
-c, --config-file <CONFIG_FILE> set a config file [default: ]
-h, --help Print help (see more with '--help')
-V, --version Print version
Exemplo de uso:
pytest_markdown_report -c src/examples/config.txt
Este é um arquivo opcional que pode ser passado com a flag -c
, vale lembrar que o tipo do arquivo não importa desde que ele siga as regras mostradas a baixo.
A estrutura básica é: prefix name = value
.
Você pode encontrar um exemplo de configuração aqui
tag | description |
---|---|
e | tag utilizada para modificar os emojis padrões |
c | tag utilizada para modificar algumas configurações da ferramenta |
h | tag utilizada para adicionar uma seção header no report.md |
f | tag utilizada para adicionar uma seção footer no report.md |
name | description |
---|---|
passed | emoji para quando o teste passa |
failed | emoji para quando o teste falha |
skipped | emoji para quando o teste é pulado |
name | description |
---|---|
output | caminho para o arquivo de saída. Ex: ./report.md |
target-folder | caminho onde estão os testes do pytest |
A tag h
que declara a seção header e a tag f
que declara a seção footer tem nomes anônimos.
Exemplo:
h = # Titulo
h =
h = Acima tem uma linha vazia
h = tanto a tag h quanto a tag f aceitam markdown assim:
h =
h = ``` bash
h = echo "Oiii"
h = ```
Clone o projeto
git clone [email protected]:walefy/pytest-markdown-report.git
Entre no diretório do projeto
cd pytest-markdown-report
Rode a versão de desenvolvimento
cargo run
Ou a versão otimizada
cargo run --release
Passando flags
cargo run --release -- -c ./config.txt
Instale Pytest Markdown Report
Você pode simplismente baixar o executável para linux em releases ou buildar o projeto no seu computador como mostra a baixo.
cargo build --release
cp ./target/release/pytest_markdown_report caminho_destino
chmod +x caminho_de_destino/pytest_markdown_report
Desta forma você vai ter o executável no caminho de destino
e pode executa-lo com ./pytest_markdown_report
Se quiser executar em qualquer lugar do seu pc você pode copiar para o /bin, mas isso só vai funcionar em sistemas baseados no Linux.
cargo build --release
cp ./target/release/pytest_markdown_report /bin
chmod +x /bin/pytest_markdown_report