DEV Community 👩‍💻👨‍💻

Cover image for Testes (Código Limpo: Que Bruxaria é Essa?!?! - Parte 7)
ananopaisdojavascript
ananopaisdojavascript

Posted on

Testes (Código Limpo: Que Bruxaria é Essa?!?! - Parte 7)

Testar é mais importante do que enviar para produção. Se você não tem testes ou tem uma quantidade inadequada destes, toda vez que você envia o seu código, não terá certeza de que não quebrou nada. Cabe ao seu time decidir o que constitui uma quantidade adequada de testes, mas é o 100% de cobertura (todas as declarações e ramificações) é o modo pelo qual você adquire autoconfiança e paz de espírito como desenvolvedor. Isso significa que além de usar um excelente "framework" de testes, você também precisa de uma boa ferramenta de cobertura. Não há desculpa para não escrever testes. Há muitas "frameworks" bons de testes JS, então encontre um do agrado da sua equipe. Quando você encontrar o que funciona para seu time, tenha o objetivo de sempre escrever testes para cada nova funcionalidade/módulo que introduza. Se o seu método favorito é o Desenvolvimento Orientado a Testes (TDD), é bom, porém o ponto principal é apenas ter certeza de que você está alcançando seus objetivos de cobertura antes de lançar qualquer funcionalidade ou refatorar uma existente.

Um único conceito por teste

Não é recomendável:

import assert from "assert";

describe("MomentJS", () => {
  it("handles date boundaries", () => {
    let date;

    date = new MomentJS("1/1/2015");
    date.addDays(30);
    assert.equal("1/31/2015", date);

    date = new MomentJS("2/1/2016");
    date.addDays(28);
    assert.equal("02/29/2016", date);

    date = new MomentJS("2/1/2015");
    date.addDays(28);
    assert.equal("03/01/2015", date);
  });
});
Enter fullscreen mode Exit fullscreen mode

É recomendável:

import assert from "assert";

describe("MomentJS", () => {
  it("handles 30-day months", () => {
    const date = new MomentJS("1/1/2015");
    date.addDays(30);
    assert.equal("1/31/2015", date);
  });

  it("handles leap year", () => {
    const date = new MomentJS("2/1/2016");
    date.addDays(28);
    assert.equal("02/29/2016", date);
  });

  it("handles non-leap year", () => {
    const date = new MomentJS("2/1/2015");
    date.addDays(28);
    assert.equal("03/01/2015", date);
  });
});
Enter fullscreen mode Exit fullscreen mode

E aí? Gostaram? Até a próxima tradução! 🤗

Top comments (0)

Timeless DEV post...

How to write a kickass README

Arguably the single most important piece of documentation for any open source project is the README. A good README not only informs people what the project does and who it is for but also how they use and contribute to it.

If you write a README without sufficient explanation of what your project does or how people can use it then it pretty much defeats the purpose of being open source as other developers are less likely to engage with or contribute towards it.