Esse é mais um post da série não faço a mínima ideia, onde na verdade faço alguma ideia (ao menos do que se trata) mas nunca parei pra estudar a fundo. Até o final do primeiro parágrafo, não fiz nenhuma espécie de pesquisa ou digitei uma linha de code example com Jasmine. E é assim que é pra ser mesmo.
Jasmine é uma ferramenta de BDD para Javascript. Essa é uma linguagem bem filha da puta e chata quando tudo parece bem, mas absolutamente necessária para qualquer coisa internética mais interativa. Não, não conto com coisas pré-históricas como applets Java ou Flash.
Pra quem é familiar com RSpec, Jasmine é moleza. it, describe, beforeEach, spies, tá tudo lá. Só que com a sintaxe do Javascript, mas beleza, tá perdoado.
Partindo daquele exemplo babaquinha da calculadora ultra simples que soma dois números, começaríamos com o seguinte spec:
Que retorna o seguinte erro:
ReferenceError: Can't find variable: Calculator
Para resolver esse erro, definimos Calculator:
Que faz o erro alterar para
TypeError: 'undefined' is not a function (evaluating 'calculator.sum(1,1)')
Oops, faltou definir sum (com o código mais simples que dá pra fazer):
Yey!
Passing 1 spec
Uma cheat sheet bem mais detalhada pode ser vista aqui.