Objetivo:
Test-Driven Development em .NET
Primeiramente vamos fazer o downloado do NUnit ( esse index.php ta matando )
Eu não vou entrar em detalhes, se você está aqui é porque já tem idéia do que é testes unitários e para que eles servem
eu mesmo era contra, achava perca de tempo (nessa época eu programava em VB, desculpa)
Vamos a prática, esse blog tem que ser prático:
- Criar um projeto chamdo ProjetoTest e add:
a classe clDAOTest no Diretório: DAO - vamos importar a referência para "nunit.framework".
- vamos usá-la no topo da sua classe: using NUnit.Framework;
Agora precisamos dizer para a classe que ela vai conter methodos de testes:
[TestFixture(Description = "Teste unitário para a classe clAlgumaCoisa.")]
E vai ficando assim:
using NUnit.Framework;
namespace ProjetoTest.DAO
{
[TestFixture(Description = "Teste unitário para a classe clDAOTest.")]
public class clDAOTest
{
}
}
O Atributo TestFixture vai dizer para a classe que ela é visivel ao NUnit e que deve ser testada, Pronto, já temos nossa estrutura básica para testar nosso software.
Vamos ao segundo atributo:
[Test(Description = "Teste unitário do método ProcurarTodos().")]
[Test(Description = "Teste unitário do método ProcurarTodos().")]
[Test(Description = "Teste unitário do método ProcurarTodos().")]}
public void ProcurarTodos()
{
e nossa classe ta ficando assim:
using NUnit.Framework;
namespace ProjetoTest.DAO
{
[TestFixture(Description = "Teste unitário para a classe clDAOTest.")]
public class clDAOTest
{
[Test(Description = "Teste unitário do método ProcurarTodos().")]
public void ProcurarTodos()
{
public void ProcurarTodos()
{
//Entra com o código de teste.
}
}
}
Bom agora chegamos em um ponto que vamos ter que falar sobre os "Assertions" que acredito seja o "ponto G" do nosso teste, eu não vou me aprofundar muito e vou usar somente o que compara dois objetos ( AreEqual ), é ele que vai dizer se passou ou não! GREENBAR ou REDBAR!
Vamos imaginar que eu tenha uma entidade chamada Pessoa
Pessoa oPessoa= new Pessoa();
oPessoa.ID = 1;
oPessoa.Nome = "Matheus";
// Notem que eu estou preenchendo na mão esse infeliz, e o outro
// eu vou preencher atravez da minha DAO passando o mesmo ID
Pessoa oPessoaDAO = MinhaDAO.Recuperar(1);
Assert.AreEqual( oPessoa, oPessoaDAO);
ÓóòòòÓO... só isso? mais ou menos.
Vamos ver como esta ficando nosso código:
using NUnit.Framework;
namespace ProjetoTest.DAO
{
[TestFixture(Description = "Teste unitário para a classe clDAOTest.")]
public class clDAOTest
{
[Test(Description = "Teste unitário do método ProcurarTodos().")]
public void ProcurarTodos()
{
public void ProcurarTodos()
{
Pessoa oPessoa= new Pessoa();
oPessoa.ID = 1;
oPessoa.Nome = "Matheus";
Pessoa oPessoaDAO = MinhaDAO.Recuperar(1);
Assert.AreEqual( oPessoa, oPessoaDAO);
}
}
}
Se esses objetos etiverem idênticos, quer dizer que a sua DAO está agindo da forma que você esperava e com isso você evita muita dor de cabeça, claro isso é muito básico. e tem muito mais entre o céu e o inferno do que sonha seu vã visual studio. mas já é um começo.
Nenhum comentário:
Postar um comentário