Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lightning Talk: Testes em Javascript

Duke
July 27, 2015

Lightning Talk: Testes em Javascript

Duke

July 27, 2015
Tweet

More Decks by Duke

Other Decks in Programming

Transcript

  1. Testes em javascript

  2. Duke dukex.github.io github.com/dukex twitter.com/_dukex

  3. Testes em javascript

  4. TDD e BDD?

  5. None
  6. TDD test('equals 1 for sets of zero length ', function()

    { assert.equal(1, factorial(0)); }); test('equals 1 for sets of length one ', function() { assert.equal(1, factorial(1)); }); test('equals 2 for sets of length two ', function() { assert.equal(2, factorial(2)); }); test('equals 6 for sets of length three ', function() { assert.equal(6, factorial(3)); });
  7. Em contraste com TDD, BDD é quando escrevemos comportamento e

    especificação que então impulsiona o nosso desenvolvimento de software. Comportamento e especificações pode parecer muito semelhante aos testes, mas a diferença é muito sutil e importante. https://joshldavis.com/2013/05/27/difference-between-tdd-and-bdd/
  8. BDD it('should return 1 when given 0 ', function() {

    factorial(0).should.equal(1); }); it('should return 1 when given 1 ', function() { factorial(1).should.equal(1); }); it('should return 2 when given 2 ', function() { factorial(2).should.equal(2); }); it('should return 6 when given 3 ', function() { factorial(3).should.equal(6); });
  9. BDD feature('Calculator: add') .scenario('should be able to add 2 numbers

    together ') .when('I enter "1"') .and('I add "2"') .then('I should get "3"') .scenario('should be able to add 3 numbers together ') .when('I enter "1"') .and('I add "2"') .and('I add "3"') .then('I should get "6"')
  10. Mão na massa... pull-request https://github.com/gdg- sp/html5studygroup/pull/20

  11. 1. Crei a pasta 'test' no projeto 2. Instalei o

    mocha (npm install --save mocha) 3. Instalei o chai (npm install --save chai) 4. Instalei o supertest (npm install supertest --save-dev) 5. Criei arquivo 'test/server_test.js' 6. Movi código necesario para app.js (código testavel) 7. Comentei codigo não testado 8. Testei
  12. Links ➔ https://joshldavis.com/2013/05/27/difference-between-tdd-and- bdd/ ➔ https://github.com/jdavis/tdd-vs-bdd ➔ http://programmers.stackexchange.com/questions/135218/what-is- the-difference-between-writing-test-cases-for-bdd-and-tdd ➔

    https://github.com/visionmedia/supertest ➔ http://code.tutsplus.com/tutorials/how-to-test-your-javascript- code-with-qunit--net-9077
  13. Obrigado! dukex.github.io github.com/dukex twitter.com/_dukex bit.ly/meetup-8