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
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
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
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
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:
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/
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
Ta-ta for now
É 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 e sem demissões, mesmo quando elas são diferentes de você. 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