Arquillian JUDCon Brazil

166
Testes Automatizados! Saturday, April 20, 13

description

JUDCon BR talk - April 19, 2013

Transcript of Arquillian JUDCon Brazil

Page 1: Arquillian JUDCon Brazil

Testes Automatizados!Saturday, April 20, 13

Page 2: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 3: Arquillian JUDCon Brazil

Olá!

Saturday, April 20, 13

Page 4: Arquillian JUDCon Brazil

Olá!

• Hanneli (‘H’ mudo)

Saturday, April 20, 13

Page 5: Arquillian JUDCon Brazil

Olá!

• Hanneli (‘H’ mudo)

• @hannelita

Saturday, April 20, 13

Page 6: Arquillian JUDCon Brazil

Olá!

• Hanneli (‘H’ mudo)

• @hannelita

• Dev

Saturday, April 20, 13

Page 7: Arquillian JUDCon Brazil

Olá!

• Hanneli (‘H’ mudo)

• @hannelita

• Dev

• Viciada em café

Saturday, April 20, 13

Page 8: Arquillian JUDCon Brazil

Sessão descarrego

Saturday, April 20, 13

Page 9: Arquillian JUDCon Brazil

Quem nunca...

Saturday, April 20, 13

Page 10: Arquillian JUDCon Brazil

Mexeu no código de outra pessoa?

Saturday, April 20, 13

Page 11: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 12: Arquillian JUDCon Brazil

O que aconteceu?

• a.

• b.

• c.

Saturday, April 20, 13

Page 13: Arquillian JUDCon Brazil

Você confia 100% no código que você

escreveu?

Saturday, April 20, 13

Page 14: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 15: Arquillian JUDCon Brazil

Apostas

• a. Aposto minha vida

• b. Aposto 100 reais

• Aposto 1 sorvete

• Vou ao banheiro, volto já

Saturday, April 20, 13

Page 16: Arquillian JUDCon Brazil

Balanço do dia

Saturday, April 20, 13

Page 17: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 18: Arquillian JUDCon Brazil

@Statelesspublic class BalancoBean implements Balanco {

}Saturday, April 20, 13

Page 19: Arquillian JUDCon Brazil

@Statelesspublic class BalancoBean implements Balanco {

}Saturday, April 20, 13

Page 20: Arquillian JUDCon Brazil

@Statelesspublic class BalancoBean implements Balanco {

}

public String balanco(List<BigDecimal> valores){

}

Saturday, April 20, 13

Page 21: Arquillian JUDCon Brazil

@Statelesspublic class BalancoBean implements Balanco {

}

public String balanco(List<BigDecimal> valores){

}

BigDecimal balanco = new BigDecimal("0.0");for (BigDecimal valor : valores) { balanco.add(valor);}if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Saturday, April 20, 13

Page 22: Arquillian JUDCon Brazil

@Statelesspublic class BalancoBean implements Balanco {

}

public String balanco(List<BigDecimal> valores){

}

BigDecimal balanco = new BigDecimal("0.0");for (BigDecimal valor : valores) { balanco.add(valor);}if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Saturday, April 20, 13

Page 23: Arquillian JUDCon Brazil

@Statelesspublic class BalancoBean implements Balanco {

}

public String balanco(List<BigDecimal> valores){

}

BigDecimal balanco = new BigDecimal("0.0");for (BigDecimal valor : valores) { balanco.add(valor);}if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Saturday, April 20, 13

Page 24: Arquillian JUDCon Brazil

@Statelesspublic class BalancoBean implements Balanco {

}

public String balanco(List<BigDecimal> valores){

}

BigDecimal balanco = new BigDecimal("0.0");for (BigDecimal valor : valores) { balanco.add(valor);}if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Saturday, April 20, 13

Page 25: Arquillian JUDCon Brazil

@Statelesspublic class BalancoBean implements Balanco {

}

public String balanco(List<BigDecimal> valores){

}

BigDecimal balanco = new BigDecimal("0.0");for (BigDecimal valor : valores) { balanco.add(valor);}if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Saturday, April 20, 13

Page 26: Arquillian JUDCon Brazil

@Statelesspublic class BalancoBean implements Balanco {

}

public String balanco(List<BigDecimal> valores){

}

BigDecimal balanco = new BigDecimal("0.0");for (BigDecimal valor : valores) { balanco.add(valor);}if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Saturday, April 20, 13

Page 27: Arquillian JUDCon Brazil

@Statelesspublic class BalancoBean implements Balanco {

}

public String balanco(List<BigDecimal> valores){

}

BigDecimal balanco = new BigDecimal("0.0");for (BigDecimal valor : valores) { balanco.add(valor);}if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Saturday, April 20, 13

Page 28: Arquillian JUDCon Brazil

Está tudo certo?

Saturday, April 20, 13

Page 29: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 30: Arquillian JUDCon Brazil

Imagine os seguintes valores

Saturday, April 20, 13

Page 31: Arquillian JUDCon Brazil

Imagine os seguintes valores

136

Saturday, April 20, 13

Page 32: Arquillian JUDCon Brazil

Imagine os seguintes valores

136 +148

Saturday, April 20, 13

Page 33: Arquillian JUDCon Brazil

Imagine os seguintes valores

136 +148 -136

Saturday, April 20, 13

Page 34: Arquillian JUDCon Brazil

Imagine os seguintes valores

136 +148 -136 -148

Saturday, April 20, 13

Page 35: Arquillian JUDCon Brazil

Imagine os seguintes valores

136 +148 -136 -148 =0

Saturday, April 20, 13

Page 36: Arquillian JUDCon Brazil

Imagine os seguintes valores

136 +148 -136 -148 =0

Saturday, April 20, 13

Page 37: Arquillian JUDCon Brazil

Imagine os seguintes valores

136 +148 -136 -148

Isso é positivo ou negativo?

=0

Saturday, April 20, 13

Page 38: Arquillian JUDCon Brazil

if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Saturday, April 20, 13

Page 39: Arquillian JUDCon Brazil

if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Saturday, April 20, 13

Page 40: Arquillian JUDCon Brazil

if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Falta um if

Saturday, April 20, 13

Page 41: Arquillian JUDCon Brazil

if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Falta um if

if (balanco.compareTo(BigDecimal.ZERO) == 0){ return "nulo";}

Saturday, April 20, 13

Page 42: Arquillian JUDCon Brazil

if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Falta um if

if (balanco.compareTo(BigDecimal.ZERO) == 0){ return "nulo";}

Saturday, April 20, 13

Page 43: Arquillian JUDCon Brazil

if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Falta um if

if (balanco.compareTo(BigDecimal.ZERO) == 0){ return "nulo";}

Saturday, April 20, 13

Page 44: Arquillian JUDCon Brazil

if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo";} else { return "negativo";}

Falta um if

if (balanco.compareTo(BigDecimal.ZERO) == 0){ return "nulo";}

Saturday, April 20, 13

Page 45: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 46: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 47: Arquillian JUDCon Brazil

if (balanco.compareTo(BigDecimal.ZERO) > 0){ return "positivo"; } else { if (balanco.compareTo(BigDecimal.ZERO) == 0){ return "nulo"; } else { return "negativo"; } }

Saturday, April 20, 13

Page 48: Arquillian JUDCon Brazil

Código mal estruturado!

Saturday, April 20, 13

Page 49: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 50: Arquillian JUDCon Brazil

Por que há tantos bugs?

Saturday, April 20, 13

Page 51: Arquillian JUDCon Brazil

Por que há tantos bugs?

Saturday, April 20, 13

Page 52: Arquillian JUDCon Brazil

Não há mágica!

Saturday, April 20, 13

Page 53: Arquillian JUDCon Brazil

Não há mágica!@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ [..] }

}

Saturday, April 20, 13

Page 54: Arquillian JUDCon Brazil

Não há mágica!@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ [..] }

}

Saturday, April 20, 13

Page 55: Arquillian JUDCon Brazil

Não há mágica!@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ [..] }

}

Saturday, April 20, 13

Page 56: Arquillian JUDCon Brazil

Não há mágica!@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ [..] }

}

136+148

Saturday, April 20, 13

Page 57: Arquillian JUDCon Brazil

Não há mágica!@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ [..] }

}

136+148

136-148

Saturday, April 20, 13

Page 58: Arquillian JUDCon Brazil

Não há mágica!@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ [..] }

}

136+148

136-148136-136

Saturday, April 20, 13

Page 59: Arquillian JUDCon Brazil

Não há mágica!

@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ [..] }

}

136+148

136-148136-136

Saturday, April 20, 13

Page 60: Arquillian JUDCon Brazil

Não há mágica!@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ [..] }

}

136+148

136-148136-136

Saturday, April 20, 13

Page 61: Arquillian JUDCon Brazil

Não há mágica!@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ [..] }

}

136+148

136-148136-136

Saturday, April 20, 13

Page 62: Arquillian JUDCon Brazil

Não há mágica!@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ [..] }

}

136+148

136-148136-136

Saturday, April 20, 13

Page 63: Arquillian JUDCon Brazil

Não há mágica!@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ [..] }

}

136+148

136-148136-136

Saturday, April 20, 13

Page 64: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 65: Arquillian JUDCon Brazil

Testes Automatizados

Saturday, April 20, 13

Page 66: Arquillian JUDCon Brazil

JUnit

Saturday, April 20, 13

Page 67: Arquillian JUDCon Brazil

JUnitSimplificado

Saturday, April 20, 13

Page 68: Arquillian JUDCon Brazil

JUnit

@Testpublic void testMultiply() {

}

Simplificado

Saturday, April 20, 13

Page 69: Arquillian JUDCon Brazil

JUnit

@Testpublic void testMultiply() {

}

Simplificado

assertEquals

Saturday, April 20, 13

Page 70: Arquillian JUDCon Brazil

JUnit

@Testpublic void testMultiply() {

}

Simplificado

assertEquals( balanco(136, -136));

Saturday, April 20, 13

Page 71: Arquillian JUDCon Brazil

JUnit

@Testpublic void testMultiply() {

}

Simplificado

assertEquals( balanco(136, -136));“nulo”,

Saturday, April 20, 13

Page 72: Arquillian JUDCon Brazil

Quem faz testes?

Saturday, April 20, 13

Page 73: Arquillian JUDCon Brazil

Vale a pena?

Saturday, April 20, 13

Page 74: Arquillian JUDCon Brazil

Pontos positivos

Saturday, April 20, 13

Page 75: Arquillian JUDCon Brazil

Pontos positivos

• Minimiza bugs

Saturday, April 20, 13

Page 76: Arquillian JUDCon Brazil

Pontos positivos

• Minimiza bugs

• Código mais estruturado

Saturday, April 20, 13

Page 77: Arquillian JUDCon Brazil

Pontos positivos

• Minimiza bugs

• Código mais estruturado

• Chance de quebrar o código diminui

Saturday, April 20, 13

Page 78: Arquillian JUDCon Brazil

Problemas

Saturday, April 20, 13

Page 79: Arquillian JUDCon Brazil

Problemas

• Não sabia disso

Saturday, April 20, 13

Page 80: Arquillian JUDCon Brazil

Problemas

• Não sabia disso

• Pode ser complicado pensar no teste em alguns casos

Saturday, April 20, 13

Page 81: Arquillian JUDCon Brazil

Problemas

• Não sabia disso

• Pode ser complicado pensar no teste em alguns casos

• Gasta tempo

Saturday, April 20, 13

Page 82: Arquillian JUDCon Brazil

Complicado escrever testes?

Saturday, April 20, 13

Page 83: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

Saturday, April 20, 13

Page 84: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

Saturday, April 20, 13

Page 85: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

Saturday, April 20, 13

Page 86: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

Como ?

Saturday, April 20, 13

Page 87: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

Como ?

BalancoBean bean = new BalancoBean();

Saturday, April 20, 13

Page 88: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

Como ?

BalancoBean bean = new BalancoBean();

Saturday, April 20, 13

Page 89: Arquillian JUDCon Brazil

Mesmo sem EJB

Saturday, April 20, 13

Page 90: Arquillian JUDCon Brazil

@SessionScopedpublic class BalancoBean {

//seu código aqui

}

Saturday, April 20, 13

Page 91: Arquillian JUDCon Brazil

@SessionScopedpublic class BalancoBean {

//seu código aqui

}

JSF + CDI

Saturday, April 20, 13

Page 92: Arquillian JUDCon Brazil

Classes que não devem ser instanciadas

Saturday, April 20, 13

Page 93: Arquillian JUDCon Brazil

Classes que não devem ser instanciadas

EJBs

Saturday, April 20, 13

Page 94: Arquillian JUDCon Brazil

Classes que não devem ser instanciadas

EJBsManagedBean

Saturday, April 20, 13

Page 95: Arquillian JUDCon Brazil

Classes que não devem ser instanciadas

EJBsManagedBeanWeb Services

Saturday, April 20, 13

Page 96: Arquillian JUDCon Brazil

Classes que não devem ser instanciadas

EJBsManagedBeanWeb Services

Saturday, April 20, 13

Page 97: Arquillian JUDCon Brazil

Classes que não devem ser instanciadas

EJBsManagedBeanWeb Services

CDI Beans

Saturday, April 20, 13

Page 98: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 99: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

Saturday, April 20, 13

Page 100: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

BalancoBean bean = new AlgumaCoisaMeDeAInstancia();

Saturday, April 20, 13

Page 101: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 102: Arquillian JUDCon Brazil

AlgumaCoisaMeDeAInstancia

Saturday, April 20, 13

Page 103: Arquillian JUDCon Brazil

Mock

AlgumaCoisaMeDeAInstancia

Saturday, April 20, 13

Page 104: Arquillian JUDCon Brazil

Mock

AlgumaCoisaMeDeAInstancia

Frameworks

Saturday, April 20, 13

Page 105: Arquillian JUDCon Brazil

OpenEJB

Saturday, April 20, 13

Page 106: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 107: Arquillian JUDCon Brazil

• Baixar OpenEJB

Saturday, April 20, 13

Page 108: Arquillian JUDCon Brazil

• Baixar OpenEJB

• Escrever o teste

Saturday, April 20, 13

Page 109: Arquillian JUDCon Brazil

• Baixar OpenEJB

• Escrever o teste

• Server a parte

Saturday, April 20, 13

Page 110: Arquillian JUDCon Brazil

• Baixar OpenEJB

• Escrever o teste

• Server a parte

Saturday, April 20, 13

Page 111: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 112: Arquillian JUDCon Brazil

JBoss

Saturday, April 20, 13

Page 113: Arquillian JUDCon Brazil

JBoss@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ BigDecimal balanco = new BigDecimal("0.0"); [..] }

}

Saturday, April 20, 13

Page 114: Arquillian JUDCon Brazil

JBoss@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ BigDecimal balanco = new BigDecimal("0.0"); [..] }

}

Saturday, April 20, 13

Page 115: Arquillian JUDCon Brazil

JBoss@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ BigDecimal balanco = new BigDecimal("0.0"); [..] }

}

OpenEJB

Saturday, April 20, 13

Page 116: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 117: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 118: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 119: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 120: Arquillian JUDCon Brazil

Classloader

Saturday, April 20, 13

Page 121: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 122: Arquillian JUDCon Brazil

JBoss 5

Saturday, April 20, 13

Page 123: Arquillian JUDCon Brazil

JBoss 5

+

Saturday, April 20, 13

Page 124: Arquillian JUDCon Brazil

JBoss 5

+

Seam 2

Saturday, April 20, 13

Page 125: Arquillian JUDCon Brazil

JBoss 5

+

Seam 2

+

Saturday, April 20, 13

Page 126: Arquillian JUDCon Brazil

JBoss 5

+

Seam 2

+

EJB

Saturday, April 20, 13

Page 127: Arquillian JUDCon Brazil

JBoss 5

+

Seam 2

+

EJB

+

Saturday, April 20, 13

Page 128: Arquillian JUDCon Brazil

JBoss 5

+

Seam 2

+

EJB

+

Maven

Saturday, April 20, 13

Page 129: Arquillian JUDCon Brazil

JBoss 5

+

Seam 2

+

EJB

+

Maven

+

Saturday, April 20, 13

Page 130: Arquillian JUDCon Brazil

JBoss 5

+

Seam 2

+

EJB

+

Maven

+

OpenEJB

Saturday, April 20, 13

Page 131: Arquillian JUDCon Brazil

JBoss 5

+

Seam 2

+

EJB

+

Maven

+

OpenEJB

=Saturday, April 20, 13

Page 132: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 133: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 134: Arquillian JUDCon Brazil

Maven?

Saturday, April 20, 13

Page 135: Arquillian JUDCon Brazil

Falta de ferramentas de testes

Saturday, April 20, 13

Page 136: Arquillian JUDCon Brazil

Falta de ferramentas de testes

Teste rápido!

Saturday, April 20, 13

Page 137: Arquillian JUDCon Brazil

JBoss AS 7

Saturday, April 20, 13

Page 138: Arquillian JUDCon Brazil

E os Mocks?

Saturday, April 20, 13

Page 139: Arquillian JUDCon Brazil

JEE6

Saturday, April 20, 13

Page 140: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

Saturday, April 20, 13

Page 141: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

BalancoBean bean;

Saturday, April 20, 13

Page 142: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

BalancoBean bean;@Inject

Saturday, April 20, 13

Page 143: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

BalancoBean bean;@Inject

Saturday, April 20, 13

Page 144: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

BalancoBean bean;@Inject

Saturday, April 20, 13

Page 145: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

Saturday, April 20, 13

Page 146: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

BalancoBean bean;

Saturday, April 20, 13

Page 147: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

BalancoBean bean;@Inject

Saturday, April 20, 13

Page 148: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

BalancoBean bean;@Inject

Saturday, April 20, 13

Page 149: Arquillian JUDCon Brazil

@Testpublic void testMultiply() {

}

assertEquals( balanco(136, -136));“nulo”,

BalancoBean bean;@Inject

Saturday, April 20, 13

Page 150: Arquillian JUDCon Brazil

Arquillian

Saturday, April 20, 13

Page 151: Arquillian JUDCon Brazil

public class BalancoTest {

}

Saturday, April 20, 13

Page 152: Arquillian JUDCon Brazil

public class BalancoTest {

}

@RunWith(Arquillian.class)

Saturday, April 20, 13

Page 153: Arquillian JUDCon Brazil

public class BalancoTest {

}

@RunWith(Arquillian.class)

@InjectBalancoBean balancoBean;

Saturday, April 20, 13

Page 154: Arquillian JUDCon Brazil

public class BalancoTest {

}

@RunWith(Arquillian.class)

@InjectBalancoBean balancoBean;

@Testpublic void should_balanco_be_null() { Assert.assertEquals

(“nulo”, balancoBean.balanco (136, -136)); }

Saturday, April 20, 13

Page 155: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 156: Arquillian JUDCon Brazil

@Deployment public static JavaArchive createDeployment() { return ShrinkWrap.create(JavaArchive.class) .addClass(BalancoBean.class) .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); }

public class BalancoTest {

}

Saturday, April 20, 13

Page 157: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 158: Arquillian JUDCon Brazil

Saturday, April 20, 13

Page 159: Arquillian JUDCon Brazil

JBoss Rodando

Saturday, April 20, 13

Page 160: Arquillian JUDCon Brazil

JBoss Rodando@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ BigDecimal balanco = new BigDecimal("0.0"); [..] }

}

Saturday, April 20, 13

Page 161: Arquillian JUDCon Brazil

JBoss Rodando@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ BigDecimal balanco = new BigDecimal("0.0"); [..] }

}

Saturday, April 20, 13

Page 162: Arquillian JUDCon Brazil

JBoss Rodando@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ BigDecimal balanco = new BigDecimal("0.0"); [..] }

}

Arquillian de Testes

Saturday, April 20, 13

Page 163: Arquillian JUDCon Brazil

JBoss Rodando@Statelesspublic class BalancoBean implements Balanco { public String balanco(List<BigDecimal> valores){ BigDecimal balanco = new BigDecimal("0.0"); [..] }

}

Arquillian de Testes

Saturday, April 20, 13

Page 164: Arquillian JUDCon Brazil

Referências

• https://github.com/arquillian/arquillian-examples

• http://arquillian.org/

• BECK, Kent. Test Driven Development.

Saturday, April 20, 13

Page 165: Arquillian JUDCon Brazil

Obrigada!

[email protected]: @hannelita

Perguntas?

Saturday, April 20, 13

Page 166: Arquillian JUDCon Brazil

Valeu!

Saturday, April 20, 13