Sobes.tech
Middle+

O que são os marcadores (marks) no pytest?

sobes.tech IA

Resposta da IA

No pytest, os marcadores (marks) são uma forma de marcar testes para agrupá-los, filtrá-los ou alterar o comportamento durante a execução.

Principais aplicações dos marcadores:

  • Agrupamento de testes: por exemplo, marcar testes como "lentos", "banco de dados", "api" e executar apenas certos grupos.
  • Pular testes: usando o marcador @pytest.mark.skip ou @pytest.mark.skipif, é possível pular testes sob certas condições.
  • Parametrização: embora exista um mecanismo separado para parametrização, os marcadores podem ser usados para lógica adicional.

Exemplo de uso de marcador:

import pytest

@pytest.mark.slow
def test_heavy_computation():
    # teste que leva muito tempo
    assert True

@pytest.mark.skipif(condition, reason="Razão")
def test_skip_example():
    assert False

Para executar testes com um marcador específico, usa-se a opção de linha de comando:

pytest -m slow

Marcadores ajudam a organizar os testes e gerenciar sua execução em grandes projetos.