3
respostas

Erro ao tentar executar o teste

Não vai nem pelo programinha do NUnit nem pelo prompt, que eu tentei executar um dotnet test:

Iniciando execução de teste, espere... Não há nenhum teste disponível em C:\Users\Treinamento\Downloads\testes-cap1\Caelum.Leilao\Caelum.Leilao\bin\Debug\Caelum.Leilao.dll. Verifique se os detectores e os executores de testes estão registrados e se as configurações de versão da plataforma e da estrutura estão corretas e tente novamente.

3 respostas

Olá Mariana,

manda o código das classes de testes para eu dar uma olhada neles também.

Oi, Lucas. Elas estão assim:

Avaliador

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Caelum.Leilao
{
    class Avaliador
    {

        private double maiorDeTodos = Double.MinValue;
        private double menorDeTodos = Double.MaxValue;

        public void Avalia(Leilao leilao)
        {
            foreach (var lance in leilao.Lances)
            {
                if (lance.Valor > maiorDeTodos) maiorDeTodos = lance.Valor;
                if (lance.Valor < menorDeTodos) menorDeTodos = lance.Valor;
            }
        }

        public double MaiorLance
        {
            get
            {
                return maiorDeTodos;
            }
        }

        public double MenorLance
        {
            get
            {
                return menorDeTodos;
            }
        }
    }
}

AvaliadorTest

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;

namespace Caelum.Leilao
{
    [TestFixture]
    public class AvaliadorTest
    {
        [Test]
        public void DeveEntenderLancesEmOrdemCrescente()
        {
            // cenario: 3 lances em ordem crescente
            Usuario joao = new Usuario("Joao");
            Usuario jose = new Usuario("José");
            Usuario maria = new Usuario("Maria");

            Leilao leilao = new Leilao("Playstation 3 Novo");
            leilao.Propoe(new Lance(maria, 250.0));
            leilao.Propoe(new Lance(joao, 300.0));
            leilao.Propoe(new Lance(jose, 400.0));

            // executando a acao 
            Avaliador leiloeiro = new Avaliador();
            leiloeiro.Avalia(leilao);

            // comparando a saida com o esperado 
            double maiorEsperado = 400;
            double menorEsperado = 250;
            Assert.AreEqual(maiorEsperado, leiloeiro.MaiorLance, 0.0001);
            Assert.AreEqual(menorEsperado, leiloeiro.MenorLance, 0.0001);
        }
    }

}

As outras eu não modifiquei

Veja se instalando este pacote resolve o problema:

Install-Package NUnitTestAdapter -Version 2.1.1