Escolar Documentos
Profissional Documentos
Cultura Documentos
Esta regra estabelece que o custo de correção de uma falha é mais custoso
quanto mais tarde o defeito é encontrado. Corrigir um defeito encontrado durante a
produção é muito mais caro de se resolver do que quando é encontrado ainda na
fase de desenvolvimento.
ObjetoEmTeste_ComportamentoDoMetodoEmTeste_ComportamentoEsperado
ex - Pedido_AdicionarPedidoItem_DeveIncrementarUnidadesSeItemJaExistente
ex - Estoque_RetirarItem_DeveEnviarEmailSeAbaixoDe10Unidades
MetodoEmTeste_EstadoEmTeste_ComportamentoEsperado
ex - AdicionarPedidoItem_ItemExistenteCarrinho_DeveIncrementarUnidadesDoItem
ex - RetirarItemEstoque_EstoqueAbaixoDe10Unidades_DeveEnviarEmailDeAviso
MOCK
ASSERT - Number
● Assert.Equal
○ Realiza comparação, inclusive strings e não apenas numbers
● Assert.NotEqual
○ Compara para verificar se os números não são iguais. Leva a precisão
em conta (expected: x, actual: xx, precision: x)
● Assert.InRange
○ Verifica se a expressão está dentro de uma determinada faixa de valor
(actual: xxx, low: xxx, high: xxx)
● Assert.NotInRange
○ Verifica se a expressão não está dentro de uma determinada faixa de
valor (actual: xxx, low: xxx, high: xxx)
ASSERT - Boolean
● Assert.False
○ Testa se a expressão é falsa
● AssertTrue
○ Testa se a expressão é verdadeira
● AssertNull
○ Testa se a expressão é nula (também existe o AssertNotNull que
verifica se a expressão não é nula)
Assert - Collection
● AssertAll
○ Verifica uma situação para todos os itens de uma collection
● AssertContains
○ Verifica se o valor esperado se encontra na collection
● AssertDoesNotContains
○ Verifica se o valor esperado não se encontra na collection
FIXTURE
A fixture é um conjunto de configurações que são compartilhadas entre vários
testes de uma mesma classe.
DUBLÊ DE TESTE
É um objeto usado para simular uma dependência do código sendo testado. O
dublê é criado com o propósito de imitar um comportamento sem causar efeitos
colaterais, o que auxilia no isolamento dos testes sendo feitos.
SUÍTE DE TESTE
É o diretório ou caminho onde um determinado agrupamento de classes de
teste se localizam.
ORDENAÇÃO DE TESTE
Existe uma grande discussão em torno da ordenação de testes, pois como se
trata de um teste unitário a ordem em que os testes são executados não deveriam
afetar o resultado final. A ordenação dos testes é importante para a realização dos
testes de integração, onde se verifica a integração entre as unidades e a
dependência entre os componentes.
MOCK DE OBJETOS
O termo Mock Objects é usado para descrever um caso onde um objeto
(mock) é criado para simular um objeto real para teste. O Mock é bastante utilizado
para a realização de TDD (Test-Driven Development), que consiste em realizar os
testes antes da implementação, existindo a necessidade de simular alguns objetos
para se conseguir testar o código.
Em testes unitários é possível imitar o comportamento de objetos reais mais
complexos, também sendo muito utilizados para objetos que geram resultados
variados, objetos com estados difíceis de serem criados/reproduzidos, objetos
lentos (banco de dados) que necessitam serem inicializados antes do testes, objetos
que terão seus comportamentos alterados ou que sequer existam ainda, objetos que
precisam de métodos/informações adicionais para a realização do teste etc.
FLUENT ASSERTIONS
Cria Asserts mais “literais”, tornando a leitura e a interpretação do código
mais simples.
TDD - Test Driven Development