Olá,
Recentemente eu comecei a mexer com teste unitários. Estou usando o JUnit com o Eclipse para isso, e algumas dúvidas apareceram.
A classe q eu estou fazendo é ± a seguinte:
public class Capacidade {
public boolean habilita;
public boolean modoOperacao;
public AnalogInSet eaCapacidade;
public boolean sdAumentaCap;
public boolean sdDiminuiCap;
public int capacidadeMinima;
public boolean pedidoAumentaCap;
public boolean pedidoDiminuiCap;
public boolean habilitaPotenciometro;
public void run() {
/* capacidade habilitada */
if (habilita) {
/* modo de operação Manual */
if (modoOperacao) {
controleManual();
/* Operação Automática */
} else {
controleAutomatico();
} // if
} // if
} // run()
public void aumentaCapacidade() {
/*
* se a referencia da capacidade foi feita e a leitura é menor que 100,0 %
* ou se a leitura da capacidade está desabilitada
*/
sdAumentaCap = ((eaCapacidade != null && eaCapacidade.value < 1000) || !habilitaPotenciometro);
}
public void diminuiCapacidade() {
/*
* se a referencia da capacidade foi feita e a leitura é maior do que a capacidade mínima
* ou se a leitura da capacidade está desabilitada
*/
sdDiminuiCap = ((eaCapacidade.value > capacidadeMinima && eaCapacidade != null) || !habilitaPotenciometro);
}
public void controleManual() {
if (pedidoAumentaCap && !pedidoDiminuiCap) // pedido Aumenta Capacidade
aumentaCapacidade();
else if (pedidoDiminuiCap && !pedidoAumentaCap) // pedido Diminui Capacidade
diminuiCapacidade();
}
blz… até ai tudo bem…
então eu peguei e criei uma classe de teste para essa minha classe:
public class CapacidadeTest extends TestCase {
Capacidade cap = new Capacidade();
AnalogInSet eaCapacidade = new AnalogInSet();
public void testAumentaCapacidade() {
/* capacidade com referencia nula */
cap.eaCapacidade = null;
/* leitura de capacidade desabilitada */
cap.habilitaPotenciometro = false;
cap.aumentaCapacidade();
assertTrue(cap.sdAumentaCap);
/* leitura de capacidade habilitada */
cap.habilitaPotenciometro = true;
cap.aumentaCapacidade();
assertFalse(cap.sdAumentaCap);
/* referencia feita */
cap.eaCapacidade = eaCapacidade;
/* leitura de capacidade habilitada */
cap.habilitaPotenciometro = true;
/* capacidade acima da capacidade máxima */
cap.eaCapacidade.value = 1500; // 150,0 %
cap.aumentaCapacidade();
assertFalse(cap.sdAumentaCap);
/* capacidade abaixo da capacidade máxima */
cap.eaCapacidade.value = 900; // 90,0 %
cap.aumentaCapacidade();
assertTrue(cap.sdAumentaCap);
/* leitura de capacidade desabilitada */
cap.habilitaPotenciometro = false;
/* capacidade acima da capacidade máxima */
cap.eaCapacidade.value = 1500; // 150,0 %
cap.aumentaCapacidade();
assertTrue(cap.sdAumentaCap);
/* capacidade abaixo da capacidade máxima */
cap.eaCapacidade.value = 900; // 90,0 %
cap.aumentaCapacidade();
assertTrue(cap.sdAumentaCap);
}
public void testDiminuiCapacidade() {
/* capacidade com referencia nula */
cap.eaCapacidade = null;
/* leitura de capacidade desabilitada */
cap.habilitaPotenciometro = false;
cap.aumentaCapacidade();
assertTrue(cap.sdAumentaCap);
/* leitura de capacidade habilitada */
cap.habilitaPotenciometro = true;
cap.aumentaCapacidade();
assertFalse(cap.sdAumentaCap);
/* referencia feita */
cap.eaCapacidade = eaCapacidade;
cap.capacidadeMinima = 100; // 10,0 %
/* leitura de capacidade habilitada */
cap.habilitaPotenciometro = true;
/* capacidade acima da capacidade mínima */
cap.eaCapacidade.value = cap.capacidadeMinima + 50;
cap.diminuiCapacidade();
assertTrue(cap.sdDiminuiCap);
/* capacidade abaixo da capacidade mínima */
cap.eaCapacidade.value = cap.capacidadeMinima - 50;
cap.diminuiCapacidade();
assertFalse(cap.sdDiminuiCap);
/* leitura de capacidade desabilitada */
cap.habilitaPotenciometro = false;
/* capacidade acima da capacidade mínima */
cap.eaCapacidade.value = cap.capacidadeMinima + 50;
cap.diminuiCapacidade();
assertTrue(cap.sdDiminuiCap);
/* capacidade abaixo da capacidade mínima */
cap.eaCapacidade.value = cap.capacidadeMinima - 50;
cap.diminuiCapacidade();
assertTrue(cap.sdDiminuiCap);
}
}
Ou seja, eu testei as condições para os meus métodos aumentaCapacidade() e diminuiCapacidade()… até ai tudo bem tmb (eu acho pelo menos .)
Foi ai q surgiu a minha dúvida…
Eu criei um método chamado controleManual(), sem retorno, que basicamente verifica uma condição e chama os métodos aumentaCapacidade() e diminuiCapacidade(). Qual seria a melhor forma de fazer o teste deste método, sem refazer os testes anteriores???
E eu também criei um método run(), que ira usar o método controleManual(), e um outro método q ainda não foi criado…
Como eu faria o teste desse novo método também, sem repetir o código de testes antigos???
Agradeço desde já qualquer tipo de ajuda.
[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Matheus [/color][/size] :joia: