No trabalho, começamos um aplicativo altamente baseado em Javascript (na verdade, usando Coffeescript, mas ainda assim), do qual tenho implementado um sistema de teste automatizado usando JsTestDriver e fabric.
Nunca escrevemos algo com tanto Javascript, então até agora nunca fizemos nenhum teste de Javascript. Não tenho certeza do que exatamente deveríamos testar em nossos testes de unidade. Nós escrevemos plugins JQuery para várias coisas, por isso é óbvio que eles devem ser verificados quanto à correção quanto possível com o JsTestDriver, mas todos os outros membros da minha equipe parecem pensar que deveríamos testar também o Javascript no nível da página.
Acho que não deveríamos testar o Javascript no nível da página como testes de unidade, mas usar um sistema como o Selenium para verificar se tudo funciona como esperado. Meu principal raciocínio é que, no momento, é garantido que os testes Javascript no nível da página falhem no JsTestDriver, porque eles estão tentando acessar elementos no DOM que não podem existir.
Então, o que deve ser testado em unidade em Javascript?