Domanda

Alcuni di noi sono ancora " live " in un ambiente di programmazione in cui i test unitari non sono ancora stati accettati. Per iniziare, l'ovvio primo passo sarebbe provare a implementare un framework decente per i test unitari, e immagino che xUnit sia lo "standard".

Quindi qual è un buon punto di partenza per implementare xUnit in un nuovo linguaggio di programmazione?

A proposito, dal momento che le persone chiedono: il mio ambiente di destinazione è Visual Dataflex.

È stato utile?

Soluzione 5

Altri suggerimenti

Per quale lingua è: ce ne sono molti nel posto già .

Se questo ti impedisce di iniziare a scrivere unit test, potresti iniziare senza un framework di test.

Esempio in linguaggio C:

void Main() 
{
  var algorithmToTest = MyUniversalQuestionSolver();
  var question = Answer to { Life, Universe && Everything };

  var actual = algorithmToTest(question);
  var expected = 42;
  if (actual != expected) Error();

  // ... add a bunch of tests
}

Esempio in linguaggio Cobol:

MAIN.
  COMPUTE EXPECTED_ANSWER = 42
  SOLVE ANSWER_TO_EVERYTHING GIVING ACTUAL_ANSWER
  SUBTRACT ACTUAL_ANSWER FROM EXPECTED_ANSWER GIVING DIFFERENCE
  IF DIFFERENCE NOT.EQ 0 THEN
    DISPLAY "ERROR!"
  END-IF

  * ... add a bunch of tests
  STOP RUN

Esegui Main dopo aver finito con una modifica (e possibilmente compilare) sul tuo codice. Esegui main sul server ogni volta che qualcuno invia il codice al tuo repository.

Quando vieni agganciato, cerca di più per un framework o vedi se è possibile fattorizzare alcuni dei bit da Main al tuo framework.

Suggerirei che un buon punto di partenza sarebbe usare xunit in un paio di altre lingue per avere un'idea di come funziona questo stile di framework di unit test. Quindi dovrai approfondire il comportamento e iniziare a capire come ricreare quel comportamento in un modo adatto alla tua nuova lingua.

Ho creato un framework di unit test decente in VFP basandolo sul codice in Test Sviluppo guidato: una guida pratica , di David Astels. Farai molta strada leggendo gli esempi, comprendendo le tecniche e traducendo il codice Java nella tua lingua.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top