matplotlib.testing
#
matplotlib.test()
#
matplotlib.testing
#
Funções auxiliares para teste.
- matplotlib.testing. subprocess_run_helper ( func , * args , timeout , extra_env = None ) [source] #
Execute uma função em um subprocesso.
- Parâmetros :
- função função
A função a ser executada. Deve estar em um módulo que seja importável.
- *args str
Quaisquer argumentos de linha de comando adicionais a serem passados no primeiro argumento para
subprocess.run
.- extra_env dict[str, str]
Quaisquer variáveis de ambiente adicionais a serem definidas para o subprocesso.
matplotlib.testing.compare
#
Utilitários para comparar resultados de imagens.
- matplotlib.testing.compare. calcular_rms ( esperada_imagem , imagem_real ) [fonte] #
Calcule os erros por pixel e, em seguida, calcule a raiz do erro quadrático médio.
- matplotlib.testing.compare. comparáveis_formatos ( ) [fonte] #
Retorna a lista de formatos de arquivo que
compare_images
podem ser comparados neste sistema.- Devoluções :
- lista de str
Ex .
['png', 'pdf', 'svg', 'eps']
- matplotlib.testing.compare. compare_images ( esperado , real , tol , in_decorator = False ) [fonte] #
Compare dois arquivos de "imagem" verificando as diferenças dentro de uma tolerância.
Os dois nomes de arquivo fornecidos podem apontar para arquivos que podem ser convertidos para PNG por meio do
converter
dicionário. O RMS subjacente é calculado com acalculate_rms
função.- Parâmetros :
- esperado str
O nome do arquivo da imagem esperada.
- str real
O nome do arquivo da imagem real.
- flutuador de pedágio
A tolerância (uma diferença de valor de cor, onde 255 é a diferença máxima). O teste falha se a diferença média de pixels for maior que esse valor.
- in_decorator bool
Determina o formato de saída. Se chamado do decorator image_comparison, deve ser True. (padrão = falso)
- Devoluções :
- Nenhum ou dict ou str
Retorna Nenhum se as imagens forem iguais dentro da tolerância especificada.
Se as imagens forem diferentes, o valor de retorno dependerá de in_decorator . Se in_decorator for true, um dict com as seguintes entradas é retornado:
rms : O RMS da diferença de imagem.
esperado : O nome do arquivo da imagem esperada.
real : O nome do arquivo da imagem real.
diff_image : O nome do arquivo da imagem de diferença.
tol : A tolerância de comparação.
Caso contrário, uma representação de cadeia de caracteres de várias linhas legível por humanos dessas informações é retornada.
Exemplos
img1 = "./baseline/plot.png" img2 = "./output/plot.png" compare_images(img1, img2, 0.001)
matplotlib.testing.decorators
#
- classe matplotlib.testing.decorators. CleanupTestCase ( methodName = 'runTest' ) [source] #
Bases:
TestCase
[ Reprovado ] Um wrapper para unittest.TestCase que inclui operações de limpeza.
Notas
Obsoleto desde a versão 3.6: Use uma cópia fornecida do código existente, incluindo a função privada _cleanup_cm.
Crie uma instância da classe que usará o método de teste nomeado quando executado. Gera um ValueError se a instância não tiver um método com o nome especificado.
- matplotlib.testing.decorators. check_figures_equal ( * , extensions = ('png', 'pdf', 'svg') , tol = 0 ) [fonte] #
Decorador para casos de teste que geram e comparam duas figuras.
A função decorada deve receber dois argumentos de palavra-chave, fig_test e fig_ref , e desenhar neles as imagens de teste e referência. Após o retorno da função, os números são salvos e comparados.
Esse decorador deve ser preferido
image_comparison
quando possível, a fim de evitar que o tamanho do conjunto de testes aumente.- Parâmetros :
- lista de extensões , padrão: ["png", "pdf", "svg"]
As extensões para testar.
- flutuador de pedágio
O limite RMS acima do qual o teste é considerado reprovado.
- Aumentos :
- RuntimeError
Se quaisquer novas figuras forem criadas (e não posteriormente fechadas) dentro da função de teste.
Exemplos
Verifique se a chamada
Axes.plot
com um único argumento é plotada contra :[0, 1, 2, ...]
@check_figures_equal() def test_plot(fig_test, fig_ref): fig_test.subplots().plot([1, 3, 5]) fig_ref.subplots().plot([0, 1, 2], [1, 3, 5])
- matplotlib.testing.decorators. check_freetype_version ( ver ) [fonte] #
[ Descontinuado ]
Notas
Obsoleto desde a versão 3.6: em vez disso, use uma cópia de fornecedor do código existente de _check_freetype_version.
- matplotlib.testing.decorators. limpeza ( estilo = Nenhum ) [fonte] #
[ Obsoleto ] Um decorador para garantir que qualquer estado global seja redefinido antes de executar um teste.
- Parâmetros :
- estilo str, dict ou lista, opcional
O(s) estilo(s) a ser(em) aplicado(s). O padrão é .
["classic", "_classic_test_patch"]
Notas
Obsoleto desde a versão 3.6: Use uma cópia fornecida do código existente, incluindo a função privada _cleanup_cm.
- matplotlib.testing.decorators. image_comparison ( baseline_images , extensions = None , tol = 0 , freetype_version = None , remove_text = False , savefig_kwarg = None , style = ('classic', '_classic_test_patch') ) [source] #
Compare as imagens geradas pelo teste com aquelas especificadas em baseline_images , que devem corresponder, caso contrário, uma
ImageComparisonFailure
exceção será gerada.- Parâmetros :
- lista baseline_images ou Nenhum
Uma lista de strings especificando os nomes das imagens geradas por chamadas para
Figure.savefig
.Se None , a função de teste deve usar o
baseline_images
fixture, como parâmetro ou compytest.mark.usefixtures
. Este valor só é permitido ao usar pytest.- extensões Nenhum ou lista de str
A lista de extensões a serem testadas, por exemplo, .
['png', 'pdf']
Se None , o padrão é todas as extensões suportadas: png, pdf e svg.
Ao testar uma única extensão, ela pode ser incluída diretamente nos nomes passados para baseline_images . Nesse caso, as extensões não devem ser definidas.
Para evitar que o tamanho do conjunto de testes aumente, incluímos apenas as saídas
svg
oupdf
se o teste estiver exercitando explicitamente um recurso dependente desse back-end (consulte também ocheck_figures_equal
decorador para essa finalidade).- flutuante total , padrão: 0
O limite RMS acima do qual o teste é considerado reprovado.
Devido a pequenas diferenças esperadas nos cálculos de ponto flutuante, em sistemas de 32 bits, um adicional de 0,06 é adicionado a esse limite.
- freetype_version str ou tupla
A versão freetype esperada ou intervalo de versões para este teste passar.
- remove_text bool
Remova o título e marque o texto da figura antes da comparação. Isso é útil para tornar as imagens de linha de base independentes de variações na renderização de texto entre diferentes versões do FreeType.
Isso não remove outros textos mais deliberados, como legendas e anotações.
- ditado savefig_kwarg
Argumentos opcionais que são passados para o método savefig.
- estilo str, dict ou lista
Os estilos opcionais a serem aplicados ao teste de imagem. O próprio teste também pode aplicar estilos adicionais, se desejado. O padrão é .
["classic", "_classic_test_patch"]
matplotlib.testing.exceptions
#
- exceção matplotlib.testing.exceptions. ImageComparisonFailure [fonte] #
Bases:
AssertionError
Gere esta exceção para marcar um teste como uma comparação entre duas imagens.