Teste de nariz - Ferramentas

O módulo nose.tools fornece uma série de ajudas de teste que você pode achar úteis, incluindo decoradores para restringir o tempo de execução do teste e testar exceções, e todos os mesmos métodos assertX encontrados em unittest.TestCase.

  • nose.tools.ok_(expr, msg = None) - Abreviação de assert.

  • nose.tools.eq_(a, b, msg = None) - Abreviação de 'assert a == b, “% r! =% R”% (a, b)

  • nose.tools.make_decorator(func) - Envolve um decorador de teste para replicar corretamente os metadados da função decorada, incluindo o material adicional do nariz (ou seja, configuração e desmontagem).

  • nose.tools.raises(*exceptions) - O teste deve gerar uma das exceções esperadas para passar.

  • nose.tools.timed(limit) - O teste deve terminar dentro do limite de tempo especificado para passar

  • nose.tools.istest(func) - Decorador para marcar uma função ou método como um teste

  • nose.tools.nottest(func) - Decorador para marcar uma função ou método como não um teste

Teste Parametrizado

A estrutura de teste do Python, unittest, não tem uma maneira simples de executar casos de teste parametrizados. Em outras palavras, você não pode facilmente passar argumentos para umunittest.TestCase de fora.

No entanto, as portas do módulo pytest testam a parametrização de várias maneiras bem integradas -

  • pytest.fixture() permite definir a parametrização no nível das funções do aparelho.

  • @pytest.mark.parametrizepermite definir a parametrização ao nível da função ou classe. Ele fornece vários conjuntos de argumentos / acessórios para uma função ou classe de teste específica.

  • pytest_generate_tests permite implementar seu próprio esquema ou extensões de parametrização dinâmica customizada.

Um módulo de terceiros 'parametrizado pelo nariz' permite o teste Parametrizado com qualquer estrutura de teste Python. Ele pode ser baixado deste link -https://github.com/wolever/nose-parameterized