Como posso obter o código de cobertura de dados do Python BDD os testes funcionais, usando Comportar-se?

StackOverflow https://stackoverflow.com//questions/23019740

Pergunta

Eu ainda não viu uma resposta para esta questão específica (Cobertura do teste de ferramenta para Comportar a estrutura de teste de e eu não vi resultados de pesquisa do Google produzir uma resposta suficiente.Portanto...

Como posso obter um relatório de cobertura de código a partir de Comportar-se?Eu acho difícil de acreditar que não existem desenvolvedores Python usando BDD metodologia e acho que é ainda mais difícil acreditar que aqueles Python para desenvolvedores que estão usando BDD estão fazendo isso sem a cobertura de código estatísticas de seus testes funcionais.Pode Coverage.py ser utilizada para a unidade de Comportar-se para produzir a cobertura de código?Como?

Foi útil?

Solução

Eu não sei como usar comportar-se, mas eu usei Pepino para BDD, que eu acho que, provavelmente, quase semelhantes.E então eu acho que você deve ser capaz de usar comportar-se com a cobertura.você tem que especificar qual arquivo para incluir no arquivo..(Eu usei ele com o pepino).Ver se este pode ajudar.

Espero que isso responde a sua pergunta :)

# .coveragerc to control coverage.py
[run]
parallel = True

# if you want to include tests append tests/*
include =
    src/*
    *src*

[paths]
source =
    src/
    */src

tests =
    tests/
    */tests

Outras dicas

Na sequência de Davi sugestão acima.

Supondo que o código a ser testado em um diretório de aplicativos, adicione o seguinte ao seu .coveragerc arquivo:

[run]
source=app/

A partir do terminal:

coverage run $(which behave);

Em seguida, você pode usar o relatório de cobertura ou cobertura de html como normal.Se você não especificar o aplicativo dir em seu .coveragerc arquivo, a cobertura irá testar todas as Python a bibliotecas locais para a comportar-se de instalação.

Se comportam pode gerar junit dados de cobertura e o cobertura pacote pode combinar dados de várias execuções de teste, bem como produzir um relatório em HTML que você pode ler ou publicar automaticamente no seu CI ambiente.

Aqui estão as instruções que eu uso atualmente para produzir, combinar, e relatório sobre a cobertura com a comportar-se de:

cd your/repo/tests  # <-- Make sure you're inside your tests dir!
rm -rf behave-reports/*
behave --junit --junit-directory behave-reports
coverage combine
coverage html

O rm -rf behave-reports/* força remove tudo dentro da comportar-relatórios/ directory, de modo que eu estou garantido um doce relatório de cobertura ou nada (produção de uma falha na CI, no meu caso).Observe que se você executar os testes localmente, você vai querer adicionar uma entrada ao seu .gitignore arquivo (ou equivalente), de modo que você não está adicionando e comprometendo os resultados do seu teste.

A execução de comportar-se com --junit vai produzir junit saída, enquanto o --junit-directory bandeira diz a comportar-se de onde escrever o que junit dados no disco.

Execução coverage combine come todos de cobertura de código e que combina em um único arquivo de cobertura.

Finalmente, coverage html produz uma bela relatório em html que inclui todas as combinado cobertura de dados.

Outra opção, usar cobertura para executar a se comportar principal do script:

coverage run /path/to/lib/python2.7/site-packages/behave/__main__.py

Claro que você vai querer especificar em sua .coveragerc que arquivos de origem que você deseja incluir.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top