segunda-feira, 28 de fevereiro de 2011

Vídeo: Intra-Empreendedorismo

Gladis Costa, fundadora do grupo Mulheres de Negócios no LinkedIn, explica o que é intra-empreendedorismo:

Fonte:

O que é intra-empreendedorismo by wsibrasilvideos:

www.youtube.com/watch?v=SG_QfwkhxlA

Ta-ta for now

sexta-feira, 25 de fevereiro de 2011

Vídeo: Instalação e Uso do Cliente TortoiseSVN

Tutorial sobre instalação e uso do cliente TortoiseSVN:

Fonte:

“Instalação e Uso Do TortoiseSVN ” by Sandro Múcio:

 www.youtube.com/watch?v=qvTYKHnEgd8

Ta-ta for now

sábado, 19 de fevereiro de 2011

Vídeo: Profissional independente não assusta mais as empresas

Um vídeo de José Augusto Minarelli sobre profissional independente e aceitação nas empresas:

Fonte: www.youtube.com/watch?v=StaOX0lOL0o

Ta-ta for now

quarta-feira, 16 de fevereiro de 2011

Testando ao Sabor do Mockito

mockito drink

O objeto mock simula o comportamento. Sendo que, na simulação do comportamento do CRUD Bairro, utilizarei o framework mockito que permite escrever testes limpos e simples. Segundo o site do mockito, os testes poderão ser feitos tranqüilamente, sem medo de ressaca. Então, vamos saborear o drink teste.

Interface DAO:

public interface BairroDAO {

public boolean criar(Bairro b);

public boolean deletar(Long id);

public boolean atualizar(String nome, Long id);

public Bairro load(Long id);

}

Importante: A implementação da classe DAO é feita com hibernate, como estou simulando o comportamento através do objeto mock, esta classe não realizará as transações no banco de dados.

Classe que implementa o serviço do CRUD Bairro:

public class BairroService {

private BairroDAO bairroDAO;

public void setBairroDAO(BairroDAO bairroDAO) {

this.bairroDAO = bairroDAO;

}

public boolean criar(Bairro b) {

return bairroDAO.criar(b);

}

public boolean deletar(Long id) {

return bairroDAO.deletar(id);

}

public boolean atualizar(String nome, Long id) {

return bairroDAO.atualizar(nome, id);

}

public Bairro load(Long id) {

return bairroDAO.load(id);

}

}

 

Classe de teste mock. Testando serviços como criar, deletar e load(carregar):

import junit.framework.Assert;

import junit.framework.TestCase;

import org.junit.Before;

import org.junit.Test;

import org.mockito.Mockito;

public class TestBairroMock extends TestCase {

private BairroService bairroService = new BairroService();

private BairroDAO bairroDAO;

@Before

public void setUp() throws Exception {

bairroDAO = Mockito.mock(BairroDAO.class);

bairroService.setBairroDAO(bairroDAO);

}

@Test

public void testCriar() throws Exception {

Bairro b = new Bairro();

b.setNome("Infelicidade");

//Quando for chamado o serviço criar retornará o valor booleano

Mockito.when(bairroDAO.criar(b)).thenReturn(true);

/ / chama o serviço que deseja testar

boolean result = bairroService.criar(b);

//Verifica se o serviço foi chamado

Mockito.verify(bairroDAO).criar(b);

/ / verifica se valor <true> foi devolvido como resultado

Assert.assertTrue(result);

}

@Test

public void testLoadBairroInfelicidade() throws Exception {

Bairro b = new Bairro();

b.setNome("Infelicidade");

b.setId(new Long(54));

Mockito.when(bairroDAO.load(new Long(54))).thenReturn(b);

Bairro b2 = bairroService.load(new Long(54));

Mockito.verify(bairroDAO).load(new Long(54));

Assert.assertEquals(b.getNome(), b2.getNome());

}

@Test

public void testLoadBairroCristoRedentor() throws Exception {

Bairro b = new Bairro();

b.setNome("cristo redentor");

b.setId(new Long(53));

Mockito.when(bairroDAO.load(new Long(53))).thenReturn(b);

Bairro b2 = bairroService.load(new Long(53));

Mockito.verify(bairroDAO).load(new Long(53));

Assert.assertEquals(b.getNome(), b2.getNome());

}

@Test

public void testLoadBairroCristoRedentorNull() throws Exception{

Bairro b = new Bairro();

b.setNome("cristo redentor");

b.setId(new Long(53));

Mockito.when(bairroDAO.load(new Long(53))).thenReturn(b);

Bairro b2 = bairroService.load(new Long(53));

Mockito.verify(bairroDAO).load(new Long(53));

Assert.assertNull(b2);

}

@Test

public void testAtualizar() throws Exception {

Mockito.when(bairroDAO.atualizar("Deus", new Long(53)))

.thenReturn(true);

boolean result = bairroService.atualizar("Deus", new Long(53));

Mockito.verify(bairroDAO).atualizar("Deus", new Long(53));

Assert.assertTrue(result);

}

@Test

public void testLoadBairroDeus() throws Exception {

Bairro b = new Bairro();

b.setNome("Deus");

b.setId(new Long(53));

Mockito.when(bairroDAO.load(new Long(53))).thenReturn(b);

Bairro b2 = bairroService.load(new Long(53));

Mockito.verify(bairroDAO).load(new Long(53));

Assert.assertEquals(b.getNome(), b2.getNome());

}

@Test

public void testLoadNull() throws Exception {

Bairro b = null;

Mockito.when(bairroDAO.load(new Long(1000))).thenReturn(b);

Bairro b2 = bairroService.load(new Long(1000));

Mockito.verify(bairroDAO).load(new Long(1000));

Assert.assertNull(b);

}

@Test

public void testLoadNotNull() throws Exception {

Bairro b = null;

Mockito.when(bairroDAO.load(new Long(1000))).thenReturn(b);

Bairro b2 = bairroService.load(new Long(1000));

Mockito.verify(bairroDAO).load(new Long(1000));

Assert.assertNotNull(b);

}

}

Resultado no JUnit 4.7:

mockito

Note que testLoadBairroCristoRedentorNull e testLoadNotNull quebraram. E estão marcados em azul.

A versão do mockito é a 1.8.5, baixar no site: http://mockito.org/

build

Usei o mockito com JUnit 4.7.

Fonte:

Mockito: Java Unit Testing with Mock Objects by Jacek Furmankiewicz:

http://www.developer.com/print.php/3882311 

http://mockito.org/

Ta-ta for now

quinta-feira, 10 de fevereiro de 2011

quarta-feira, 2 de fevereiro de 2011

Respeito às Pessoas

respeito

É importantíssimo tratar a todos com respeito, independente de cargo. Todos são iguais: CIO, desenvolvedor, gerente de projeto, recepcionista e secretária.

O que isso significa na prática?

Significa responder rapidamente às pessoas: escutando atentamente, ouvindo as opiniões diferentes ou iguais as suas. Isso significa incentivar as pessoas a falar. Tendo empatia com outros pontos de vista.

Mas, não significa necessariamente que deve sempre concordar com as pessoas. Então, uma das artes de respeitar as pessoas é aprender a ser assertivo e discordar de um ponto de vista. Sem a necessidade de ser agressivo ou ameaçador.

Outra forma importante de respeitar as pessoas é dar a responsabilidade para tomar decisões no trabalho. Isso é possível através do desenvolvimento de pessoas que possam pensar por si mesmas.

Fonte:

“Lean Principle #6 – Respect People” by Kelly Waters:

http://www.allaboutagile.com/lean-principle-6-respect-people/

Ta-ta for now