SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
QUnit
Um framework de teste unitário JavaScript


             #zigottolabs



                               por Marcelo Fraga
                                  @marcelofraga
O que é QUnit?
É um poderoso framework JavaScript de teste unitário que te ajuda a depurar o código. É
escrito e usado pela equipe do jQuery para testar os seus códigos e plugins, mas é o suficiente
para testar todo o código JavaScript genérico, e ainda é capaz de testar no lado do servidor
através de alguns mecanismos como Rhino, SpiderMonkey ou V8.




                                   #zigottolabs
Como escrever testes unitários com QUnit?

 Precisa criar um ambiente de testes

 Fornecer uma estrutura HTML básica

 Incluir os arquivos qunit.js e qunit.css




                              #zigottolabs
Como escrever testes unitários com QUnit?




              #zigottolabs
Como escrever testes unitários com QUnit?




              #zigottolabs
Como escrever testes unitários com QUnit?




              #zigottolabs
Como escrever testes unitários com QUnit?




              #zigottolabs
Falhando um teste




  #zigottolabs
Falhando um teste




  #zigottolabs
Exemplo: Afirmações




   #zigottolabs
Exemplo: Testes Assíncronos




       #zigottolabs
Exemplo: Testes Assíncronos




       #zigottolabs
Exemplo: Testes Assíncronos




       #zigottolabs
Exemplo: Testes Assíncronos




       #zigottolabs
Exemplo: Testes Assíncronos




       #zigottolabs
Exemplo: Testes Assíncronos




       #zigottolabs
Exemplo: Testes Assíncronos




       #zigottolabs
QUnit & Rhino
Rhino é uma implementação open-source de JavaScript escrito inteiramente em Java e mantido
pela Fundação Mozilla. Facilmente incorporado em aplicações Java (agora está incluído no
Java 6).




                                 #zigottolabs
Instalando Rhino no Mac OS X

$ curl ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R2.zip > /tmp/rhino.zip
$ cd /tmp
$ unzip rhino.zip

$ mkdir ~/Library/Java
$ mkdir ~/Library/Java/Extensions
$ mv /tmp/rhino1_7R2/js.jar ~/Library/Java/Extensions




                           #zigottolabs
Instalando Rhino no Mac OS X

$ export RHINO_HOME=”~/Library/Java/Extensions”
alias js=”java -cp $RHINO_HOME/js.jar org.mozilla.javascript.tools.shell.Main -opt -1”
alias jsd=”java -cp $RHINO_HOME/js.jar org.mozilla.javascript.tools.debugger.Main”

$ js
Rhino 1.7 release 2 2009 03 22
js> print(‘hello!’)
hello!
js>




                                 #zigottolabs
Usando QUnit & Rhino




    #zigottolabs
Usando QUnit & Rhino




    #zigottolabs
Usando QUnit & Rhino




  $ js suite.js




    #zigottolabs
Usando QUnit & Rhino




    #zigottolabs
Obrigado!
                #zigottolabs




@marcelofraga
Fontes

http://docs.jquery.com/QUnit


http://www.phpied.com/installing-rhino-on-mac/


http://twoguysarguing.wordpress.com/2010/11/02/make-javascript-tests-part-of-your-build-qunit-rhino/


http://net.tutsplus.com/tutorials/javascript-ajax/how-to-test-your-javascript-code-with-qunit/




                                    #zigottolabs

Contenu connexe

Tendances

Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVinícius Krolow
 
Ruby para testers I
Ruby para testers IRuby para testers I
Ruby para testers ITestRock!
 
Introdução ao Python & Web Services
Introdução ao Python & Web ServicesIntrodução ao Python & Web Services
Introdução ao Python & Web ServicesDorneles Treméa
 
JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...
JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...
JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...Felipe de Albuquerque
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores RubyEric Hideki
 
Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Rogerio Prado de Jesus
 
Curso de Node.js e MongoDB - 09
Curso de Node.js e MongoDB - 09Curso de Node.js e MongoDB - 09
Curso de Node.js e MongoDB - 09Luiz Duarte
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panosLaís Lima
 
JavaScript Robotics: Nodebots, JavaScript Além das telas
JavaScript Robotics: Nodebots, JavaScript Além das telasJavaScript Robotics: Nodebots, JavaScript Além das telas
JavaScript Robotics: Nodebots, JavaScript Além das telasFelipe de Albuquerque
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013TypeScript - Campus party 2013
TypeScript - Campus party 2013Giovanni Bassi
 
Xdebug seus problemas acabaram - tdc floripa 2017
Xdebug   seus problemas acabaram - tdc floripa 2017Xdebug   seus problemas acabaram - tdc floripa 2017
Xdebug seus problemas acabaram - tdc floripa 2017Vitor Mattos
 
Testes com javascript
Testes com javascriptTestes com javascript
Testes com javascriptLaís Lima
 

Tendances (20)

Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizado
 
[Testes] frameworks de testes end to-end baseados em node js
[Testes] frameworks de testes end to-end baseados em node js [Testes] frameworks de testes end to-end baseados em node js
[Testes] frameworks de testes end to-end baseados em node js
 
Ruby para testers I
Ruby para testers IRuby para testers I
Ruby para testers I
 
Typescript
TypescriptTypescript
Typescript
 
Introdução ao Python & Web Services
Introdução ao Python & Web ServicesIntrodução ao Python & Web Services
Introdução ao Python & Web Services
 
JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...
JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...
JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores Ruby
 
JBoss Forge 2
JBoss Forge 2JBoss Forge 2
JBoss Forge 2
 
Curso de Groovy
Curso de GroovyCurso de Groovy
Curso de Groovy
 
Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012
 
Curso de Node.js e MongoDB - 09
Curso de Node.js e MongoDB - 09Curso de Node.js e MongoDB - 09
Curso de Node.js e MongoDB - 09
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
Robocode
RobocodeRobocode
Robocode
 
Visão geral type script
Visão geral type scriptVisão geral type script
Visão geral type script
 
JavaScript Robotics: Nodebots, JavaScript Além das telas
JavaScript Robotics: Nodebots, JavaScript Além das telasJavaScript Robotics: Nodebots, JavaScript Além das telas
JavaScript Robotics: Nodebots, JavaScript Além das telas
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013TypeScript - Campus party 2013
TypeScript - Campus party 2013
 
Apresentação 2
Apresentação 2Apresentação 2
Apresentação 2
 
Xdebug seus problemas acabaram - tdc floripa 2017
Xdebug   seus problemas acabaram - tdc floripa 2017Xdebug   seus problemas acabaram - tdc floripa 2017
Xdebug seus problemas acabaram - tdc floripa 2017
 
Testes com javascript
Testes com javascriptTestes com javascript
Testes com javascript
 
Spring boot
Spring bootSpring boot
Spring boot
 

En vedette

La revolución digital vista en 2004
La revolución digital vista en 2004La revolución digital vista en 2004
La revolución digital vista en 2004Luis Lopez Gonzalez
 
Les presento a paula alejandra martinez
Les presento a paula alejandra martinezLes presento a paula alejandra martinez
Les presento a paula alejandra martinezkarenchan01
 
Copia (2) de gemelos siameses. experiencia en el in per 1978
Copia (2) de gemelos siameses. experiencia en el in per 1978Copia (2) de gemelos siameses. experiencia en el in per 1978
Copia (2) de gemelos siameses. experiencia en el in per 1978mitla343
 
Nuevo presentación de microsoft office power point
Nuevo presentación de microsoft office power pointNuevo presentación de microsoft office power point
Nuevo presentación de microsoft office power pointrocioangulo
 
Plan de aula productiva historia y desarrollo de los ritos
Plan de aula productiva historia y desarrollo de los ritosPlan de aula productiva historia y desarrollo de los ritos
Plan de aula productiva historia y desarrollo de los ritosIvan Q
 
Fundamentos de contabilidad
Fundamentos de contabilidadFundamentos de contabilidad
Fundamentos de contabilidadcaroaparicio23
 
Receitas AlimentaçãO Escolar Lanche Gostoso 07
Receitas AlimentaçãO Escolar Lanche Gostoso 07Receitas AlimentaçãO Escolar Lanche Gostoso 07
Receitas AlimentaçãO Escolar Lanche Gostoso 07tsunamidaiquiri
 
4 6 secuencia didáctica unidad 2 t1t2 equipo 6 610. resuelta equipo 4
4 6 secuencia didáctica unidad 2 t1t2 equipo 6 610. resuelta equipo 44 6 secuencia didáctica unidad 2 t1t2 equipo 6 610. resuelta equipo 4
4 6 secuencia didáctica unidad 2 t1t2 equipo 6 610. resuelta equipo 4Eduardo Hernandez
 
43ser competente-en-tecnologia
43ser competente-en-tecnologia43ser competente-en-tecnologia
43ser competente-en-tecnologiaietafranciscana
 
Sesión técnica, sala KM 19, Diagnóstico metrológico a sistemas de medición co...
Sesión técnica, sala KM 19, Diagnóstico metrológico a sistemas de medición co...Sesión técnica, sala KM 19, Diagnóstico metrológico a sistemas de medición co...
Sesión técnica, sala KM 19, Diagnóstico metrológico a sistemas de medición co...LTDH2013
 
Presentacion de arnaldo
Presentacion de arnaldoPresentacion de arnaldo
Presentacion de arnaldofbarretoa
 
Juan david (1)
Juan david (1)Juan david (1)
Juan david (1)2734095
 
Workshop fim de ano - acao consultoria
Workshop   fim de ano - acao consultoriaWorkshop   fim de ano - acao consultoria
Workshop fim de ano - acao consultoriaHenrique Gomes
 

En vedette (20)

La revolución digital vista en 2004
La revolución digital vista en 2004La revolución digital vista en 2004
La revolución digital vista en 2004
 
Les presento a paula alejandra martinez
Les presento a paula alejandra martinezLes presento a paula alejandra martinez
Les presento a paula alejandra martinez
 
Copia (2) de gemelos siameses. experiencia en el in per 1978
Copia (2) de gemelos siameses. experiencia en el in per 1978Copia (2) de gemelos siameses. experiencia en el in per 1978
Copia (2) de gemelos siameses. experiencia en el in per 1978
 
Nuevo presentación de microsoft office power point
Nuevo presentación de microsoft office power pointNuevo presentación de microsoft office power point
Nuevo presentación de microsoft office power point
 
Plan de aula productiva historia y desarrollo de los ritos
Plan de aula productiva historia y desarrollo de los ritosPlan de aula productiva historia y desarrollo de los ritos
Plan de aula productiva historia y desarrollo de los ritos
 
sistema de informacion
sistema de informacionsistema de informacion
sistema de informacion
 
Fundamentos de contabilidad
Fundamentos de contabilidadFundamentos de contabilidad
Fundamentos de contabilidad
 
Receitas AlimentaçãO Escolar Lanche Gostoso 07
Receitas AlimentaçãO Escolar Lanche Gostoso 07Receitas AlimentaçãO Escolar Lanche Gostoso 07
Receitas AlimentaçãO Escolar Lanche Gostoso 07
 
Monumento ao Palhaço Piolin Roberto Bergamo - 2014
Monumento ao Palhaço Piolin  Roberto Bergamo - 2014Monumento ao Palhaço Piolin  Roberto Bergamo - 2014
Monumento ao Palhaço Piolin Roberto Bergamo - 2014
 
Presentación.
Presentación.Presentación.
Presentación.
 
4 6 secuencia didáctica unidad 2 t1t2 equipo 6 610. resuelta equipo 4
4 6 secuencia didáctica unidad 2 t1t2 equipo 6 610. resuelta equipo 44 6 secuencia didáctica unidad 2 t1t2 equipo 6 610. resuelta equipo 4
4 6 secuencia didáctica unidad 2 t1t2 equipo 6 610. resuelta equipo 4
 
43ser competente-en-tecnologia
43ser competente-en-tecnologia43ser competente-en-tecnologia
43ser competente-en-tecnologia
 
Sesión técnica, sala KM 19, Diagnóstico metrológico a sistemas de medición co...
Sesión técnica, sala KM 19, Diagnóstico metrológico a sistemas de medición co...Sesión técnica, sala KM 19, Diagnóstico metrológico a sistemas de medición co...
Sesión técnica, sala KM 19, Diagnóstico metrológico a sistemas de medición co...
 
Redes
RedesRedes
Redes
 
Presentacion de arnaldo
Presentacion de arnaldoPresentacion de arnaldo
Presentacion de arnaldo
 
Juan david (1)
Juan david (1)Juan david (1)
Juan david (1)
 
Sec. didac.e9
Sec. didac.e9Sec. didac.e9
Sec. didac.e9
 
Workshop fim de ano - acao consultoria
Workshop   fim de ano - acao consultoriaWorkshop   fim de ano - acao consultoria
Workshop fim de ano - acao consultoria
 
Evelyn y rosa
Evelyn y rosaEvelyn y rosa
Evelyn y rosa
 
Classicismo
ClassicismoClassicismo
Classicismo
 

Similaire à QUnit Guia Testes JS

Tdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalTdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalAdriano Petrich
 
TDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislTDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislAdriano Petrich
 
Interop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NETInterop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NETAlessandro Binhara
 
Testes E2E em Cypress com JS
Testes E2E em Cypress com JSTestes E2E em Cypress com JS
Testes E2E em Cypress com JSNàtali Cabral
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerGiovanni Kenji Shiroma
 
Plataforma java: detalhes da JVM
Plataforma java: detalhes da JVMPlataforma java: detalhes da JVM
Plataforma java: detalhes da JVMCaelum
 
AutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic AcademyAutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic AcademyFausto Siqueira
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVMWilliam Gouvea
 
Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)Better Developer
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJSGiovanni Bassi
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...minastestingconference
 
TDC 2014 SP - Visual Regression Testing com PhantomCSS
TDC 2014 SP - Visual Regression Testing com PhantomCSSTDC 2014 SP - Visual Regression Testing com PhantomCSS
TDC 2014 SP - Visual Regression Testing com PhantomCSSStefan Teixeira
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
Simples pelo simples google android com robo guice
Simples pelo simples   google android com robo guiceSimples pelo simples   google android com robo guice
Simples pelo simples google android com robo guiceDiogo Souza
 
Praticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnicaPraticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnicaIvayr Farah Netto
 
Android Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudAndroid Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudiMasters
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsSamanta Cicilia
 
TDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scalesTDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scalestdc-globalcode
 
Palestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitPalestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitRobinson Castilho
 

Similaire à QUnit Guia Testes JS (20)

Tdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalTdd em django sem desculpas versao final
Tdd em django sem desculpas versao final
 
TDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislTDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fisl
 
Interop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NETInterop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NET
 
Testes E2E em Cypress com JS
Testes E2E em Cypress com JSTestes E2E em Cypress com JS
Testes E2E em Cypress com JS
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & Docker
 
Plataforma java: detalhes da JVM
Plataforma java: detalhes da JVMPlataforma java: detalhes da JVM
Plataforma java: detalhes da JVM
 
AutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic AcademyAutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic Academy
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVM
 
Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJS
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
 
TDC 2014 SP - Visual Regression Testing com PhantomCSS
TDC 2014 SP - Visual Regression Testing com PhantomCSSTDC 2014 SP - Visual Regression Testing com PhantomCSS
TDC 2014 SP - Visual Regression Testing com PhantomCSS
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Simples pelo simples google android com robo guice
Simples pelo simples   google android com robo guiceSimples pelo simples   google android com robo guice
Simples pelo simples google android com robo guice
 
Praticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnicaPraticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnica
 
Android Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudAndroid Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na Cloud
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOps
 
TDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scalesTDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scales
 
GDG Angular 2
GDG Angular 2GDG Angular 2
GDG Angular 2
 
Palestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitPalestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnit
 

Plus de Zigotto Tecnologia

Plus de Zigotto Tecnologia (14)

Engine on Rails
Engine on RailsEngine on Rails
Engine on Rails
 
Apresentação Padawan
Apresentação PadawanApresentação Padawan
Apresentação Padawan
 
Open Source - DevInVale 2011
Open Source - DevInVale 2011Open Source - DevInVale 2011
Open Source - DevInVale 2011
 
Escrevendo plugins JQuery
Escrevendo plugins JQueryEscrevendo plugins JQuery
Escrevendo plugins JQuery
 
Rack Middleware
Rack MiddlewareRack Middleware
Rack Middleware
 
HTML5
HTML5HTML5
HTML5
 
Sinatra - Primeiros Passos
Sinatra - Primeiros PassosSinatra - Primeiros Passos
Sinatra - Primeiros Passos
 
Nova API do Google Maps e Possíveis Aplicações
Nova API do Google Maps e Possíveis AplicaçõesNova API do Google Maps e Possíveis Aplicações
Nova API do Google Maps e Possíveis Aplicações
 
Apps para SmartPhones usando PhoneGap
Apps para SmartPhones usando PhoneGapApps para SmartPhones usando PhoneGap
Apps para SmartPhones usando PhoneGap
 
Um pouco de Agile
Um pouco de AgileUm pouco de Agile
Um pouco de Agile
 
Testes de aceitação com Steak e Capybara
Testes de aceitação com Steak e CapybaraTestes de aceitação com Steak e Capybara
Testes de aceitação com Steak e Capybara
 
Ilustrações, técnicas e formas
Ilustrações, técnicas e formasIlustrações, técnicas e formas
Ilustrações, técnicas e formas
 
JAVASCRIPT NÃO-OBSTRUTIVO com jQuery
JAVASCRIPT NÃO-OBSTRUTIVO com jQueryJAVASCRIPT NÃO-OBSTRUTIVO com jQuery
JAVASCRIPT NÃO-OBSTRUTIVO com jQuery
 
Desvendando a Web - Ponto de vista de um Zigottiano
Desvendando a Web - Ponto de vista de um ZigottianoDesvendando a Web - Ponto de vista de um Zigottiano
Desvendando a Web - Ponto de vista de um Zigottiano
 

QUnit Guia Testes JS