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_reportNeste 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-autoOu:
pytest -v > report.txt
cat report.txt | pytest_markdown_report --no-autoNote 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 -hsaí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.txtEste é 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 git@github.com:walefy/pytest-markdown-report.gitEntre no diretório do projeto
cd pytest-markdown-reportRode a versão de desenvolvimento
cargo runOu a versão otimizada
cargo run --releasePassando flags
cargo run --release -- -c ./config.txtInstale 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_reportDesta 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