Testes unitários em sequência
Project description
O PySeqTest foi criado pensando em testes em sequência, executando os testes um a um. Esse tipo de teste é útil quando testamos algo que envolve arquivos, banco de dados, conexões a rede, etc. O objetivo do pyseqtest é ser simples, com verificações de valores boleanos, comparações e exceções.
Exemplo de uso
Vamos começar a utilizar o PySeqTest! Neste primeiro exemplo, faremos o teste de uma simples calculadora. Veja o código:
import pyseqtest
class TestCalculator(pyseqtest.SeqTest):
def __init__(self):
super().__init__()
def test_sum(self):
condition = (10 + 5) == 15
self.is_true(condition)
def test_multiplication(self):
condition = (2 * 5) == 4
self.is_false(condition)
def test_division(self):
# error demonstration
condition = (10 / 2) == 90
self.is_true(condition, msg_error='Oh, the result is wrong')
if __name__ == '__main__':
TestCalculator().run()
No código acima, utilizamos os os seguintes métodos do pyseqtest:
is_true: Verifica se o valor é verdadeiro;
is_false: Verifica se o valor é falso.
Em todos os métodos que verificam o resultado, podemos especificar, opcionalmente, uma mensagem de erro caso o resultado não seja o esperado.
Após executar o teste, o resultado será:
PySeqTest ========= 3 testes presentes. 0:00:00.000018: test_sum 0:00:00.000009: test_multiplication ============================== [ ERROR ] test_division: Oh, the result is wrong
Todos os métodos para afirmação de teste
is_true: Verifica se o valor é verdadeiro;
is_false: Verifica se o valor é falso;
is_none: Verifica se o valor None;
check_any_value: Verifica se o valor de entrada e igual ao valor esperado.
Utilizando check_any_value
O check_any_value é utilizado para verificar dois valores: o valor de entrada, e o valor de saída esperado. Veja um exemplo:
import pyseqtest
class TestCalculator(pyseqtest.SeqTest):
def __init__(self):
super().__init__()
def test_sum(self):
# em vez de:
condition = (10 + 5) == 10
self.is_true(condition)
# podemos fazer assim:
self.check_any_value(15, 10)
# o primeiro parâmetro é o valor
# de entrada, o segundo, é valor
# de saída esperado.
Neste exemplo, um erro seria retornado, já que 15 não é igual a 10.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file PySeqTest-1.0.2.tar.gz
.
File metadata
- Download URL: PySeqTest-1.0.2.tar.gz
- Upload date:
- Size: 3.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e8507f18f31407893a880d3ec83c4de31e6c043b7b3847d2382b828f0ea8a21 |
|
MD5 | 129fa31ea4e7d7063d0983bd50be414d |
|
BLAKE2b-256 | bb94c828c34dfadef56b9feccab535c6250a3e286772463350f08090cfd41b66 |