Como posso arrumar este teste unitário?
@Test
public float obterSaldo() {
return saldo;
System.out.println("saldo obtido");
float valor = 20.0F;
banco.sacar(valor);
assertEquals(banco.saldo, 0, 0);
}
Como posso arrumar este teste unitário?
@Test
public float obterSaldo() {
return saldo;
System.out.println("saldo obtido");
float valor = 20.0F;
banco.sacar(valor);
assertEquals(banco.saldo, 0, 0);
}
Esse return está errado, pois ele invalida o resto do método do jeito que está. O que vc está tentando testar?
Eu queria fazer um teste “obter o saldo da conta”, mas não sei como fazer, ai tentei realizar dessa forma
Tira esse return do teste (ele não faz sentido) e veja se funciona.
Posta o código da classe referente ao banco pra gente ver.
Esse é todo ele completo, com alguns testes:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package banco;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
/**
*
* @author lilil
*/
public class ContaCorrenteTest {
ContaCorrente banco;
public ContaCorrenteTest() {
}
@BeforeClass
public static void setUpClass() {
}
@AfterClass
public static void tearDownClass() {
}
@Before
public void setUp() {
banco = new ContaCorrente(10,"Banco Brasil", "Maria");
banco.saldo = 0;
}
@After
public void tearDown() {
}
/**
* Test of deposito method, of class ContaCorrente.
*/
@Test
public void testDeposito() {
System.out.println("deposito");
float valor = 30.0F;
banco.deposito(valor);
assertEquals(banco.saldo, 30, 0);
}
/**
* Test of sacar method, of class ContaCorrente.
*/
@Test
public void testSacar() {
System.out.println("sacar");
float valor = 10.0F;
banco.sacar(valor);
assertEquals(banco.saldo, 0, 0);
}
/**
* Test of obter method, of class ContaCorrente.
*/
@Test
public float obterSaldo(){
return saldo;
System.out.println("saldo obtido");
float valor = 20.0F;
banco.obterSaldo(valor);
assertEquals(obterSaldo, 0, 0);
}
Vc tentou sem o return?
Eu fiz no Online C Compiler e apareceu:
Compilation failed due to following error(s).
Quando é assim, normalmente, é dito quais os motivos do erro.
O que é esse Online C Compiler?
Um site online para testar esses códigos. Tentei no Java Compiler (https://www.jdoodle.com/online-java-compiler/)
public float obterSaldo(){
return saldo;
System.out.println(“saldo obtido”);
float valor = 20.0F;
banco.obterSaldo(valor);
assertEquals(obterSaldo, 0, 0);
}
Apareceu: No “public class” found to execute
Vc tirou o return do método de teste qdo executou?
Sim, mesmo erro
Se vc executar o teste assim:
@Test
public float obterSaldo(){
System.out.println(“saldo obtido”);
float valor = 20.0F;
banco.obterSaldo(valor);
assertEquals(obterSaldo, 0, 0);
}
funciona?
Ainda não, aparece o mesmo problema. Mas tudo bem, agradeço muito a sua ajuda e esforço para tentar me auxiliar nesses exercício. Vou ver como posso faze-lo com os professores!
Na real, resolvê-lo está muito fácil. Só precisamos entender melhor como vc está fazendo. Usando essa ferramenta online pode ser o que está complicando pra mim.
Entendi, mas tem como me dar uma demonstração de como seria fora do compilador online?
@Julia_23 no caso voce tirou o “return”, mas esqueceu de mudar o tipo da função.
Tenta deixar ele como void e roda novamente.
@Test
public void obterSaldo(){
System.out.println(“saldo obtido”);
float valor = 20.0F;
banco.obterSaldo(valor);
assertEquals(obterSaldo, 0, 0);
}
Na verdade, não ta compilando pq vc esqueceu de criar uma variavel float “obterSaldo” para receber o retorno do “banco.obterSaldo(valor)”.
Na hora de testa, voce esqueceu de colocar o valor esperado para comparar com o retorno, no trecho “assertEquals(obterSaldo, 0, 0)”
Segue um exemplo:
@Test
public float obterSaldo(){
System.out.println(“saldo obtido”);
float valor = 20.0F;
float obterSaldo = banco.obterSaldo(valor);
assertEquals(valor ,obterSaldo);
}
Olá, Rodrigo!
Agora funcionou aqui, entendi o que estava de errado. Obrigada pela ajuda!
Que bom !!
Boa sorte nos seus estudos !