Enhetstesting

Basal, automatisert testing

Tester "atomer" i koden: funksjoner

Solitary / Sociable

Purist: Alle testkjøringer må være uten avhengigheter, solitary

Pragmatisk: Sociable tester er greit i blant

Sociable test

function copy(from, to) {
  fileWriter(fileReader(from), to);
}

function testCopy() {
  copy('a', 'b')
  assert(fileReader('a') === fileReader('b'));
}

Solitary test

function copy(from, to) {
  fileWriter(to, fileReader(from));
}

function testCopy() {
  // Overskriv reader/writer
  files = {};
  function fileReader(filename) {
    return files[filename];
  }
  function fileWriter(filename, content) {
    files[filename] = content;
  }

  copy('a', 'b')
  assert(files['a'] === files['b']);
}

Hvorfor enhetsteste?

Automatisert > Manuell

Refactoring

Dokumentasjon?

Hastighet?

Kvalitet?

Design?

Test Driven Development

PHP

PHPUnit

JavaScript

  • Mocha
  • Jasmine
  • QUnit
  • (TheIntern)
  • (BusterJS)

deck

By nervetattoo

deck

  • 1,129