Che cos'è un "assertion framework"?

10

Stavo leggendo il framework dei test dell'unità js-test-driver, quando ho scoperto che i ragazzi dietro il framework intendono essere integrato con un framework di asserzione . Cos'è un quadro di asserzioni? È una specie di quadro di test unitario? Se è il caso, cosa è specifico per tali quadri?

    
posta Eldros 21.12.2010 - 14:05
fonte

2 risposte

9

Un esempio di un Assertion Framework sarebbe Hamcrest che è stato integrato in JUnit 4. Hamcrest non esegue test, fornisce semplicemente un modo espressivo per scrivere asserzioni.

Vecchia affermazione dell'uguaglianza di stile JUnit:

assertEquals(constant, underTest);
// or for doubles
assertEquals(3.5, underTest, .001); // within 1/1000th

Asserzioni sulla parità di stile di Hamcrest:

assertThat(underTest, Is.EqualTo(constant));
// or for doubles
assertThat(underTest, Is.EqualTo(3.5).Within(.001));

In sostanza, un assertion framework ti consente di eseguire le tue asserzioni in modo facilmente estendibile. Poiché il framework delle asserzioni si focalizza solo sulle asserzioni, può fare il lavoro molto meglio di uno strumento che deve raccogliere ed eseguire test. NUnit ha anche adottato l'approccio di Hamcrest alle affermazioni. Non useresti Hamcrest per eseguire i tuoi test, semplicemente per scrivere le asserzioni.

    
risposta data 21.12.2010 - 14:32
fonte
2

JsTestDriver si occupa principalmente di fornire un test-runner, ovvero il modo in cui esegui i test.

Fornisce un framework di asserzioni incorporato, che è xUnit in stile. Questo è usato per scrivere effettivamente i test (ad esempio assertTrue, assertEquals, ecc.). Tuttavia, consente anche di eseguire il plug-in in framework di asserzioni alternative. Ci sono attualmente plugin disponibili per Unit e Jasmine, che offre asserzioni di stile BDD.

    
risposta data 21.12.2010 - 14:17
fonte

Leggi altre domande sui tag