Apa itu "kerangka kerja penegasan"?

10

Saya sedang membaca tentang kerangka pengujian unit driver js-test-driver, ketika saya menemukan bahwa orang-orang di balik kerangka kerja itu bermaksud untuk diintegrasikan dengan kerangka pernyataan . Apa itu kerangka pernyataan? Apakah ini semacam kerangka pengujian unit? Jika demikian, apa yang spesifik untuk kerangka kerja seperti itu?

Eldros
sumber

Jawaban:

9

Contoh Kerangka Pernyataan akan menjadi Hamcrest yang diintegrasikan ke JUnit 4. Hamcrest tidak menjalankan tes, itu hanya menyediakan cara ekspresif untuk menulis pernyataan.

Pernyataan kesetaraan gaya JUnit lama:

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

Pernyataan kesetaraan gaya Hamcrest:

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

Pada dasarnya, kerangka kerja asersi memungkinkan Anda untuk melakukan asersi Anda dengan cara yang mudah diperluas. Karena kerangka pernyataan berfokus pada pernyataan saja, itu dapat melakukan pekerjaan lebih baik daripada alat yang harus mengumpulkan dan menjalankan tes juga. NUnit juga mengadopsi pendekatan Hamcrest untuk pernyataan. Anda tidak akan menggunakan Hamcrest untuk menjalankan tes Anda, hanya untuk menulis pernyataan.

Berin Loritsch
sumber
2

JsTestDriver terutama berkaitan dengan menyediakan pelari ujian, yaitu cara Anda menjalankan tes.

Ini menyediakan kerangka kerja asersi bawaan, yang bergaya xUnit. Ini digunakan untuk benar-benar menulis tes (mis. AssertTrue, assertEquals, dll). Namun, itu juga memungkinkan Anda untuk plugin dalam kerangka pernyataan alternatif. Saat ini ada plugin yang tersedia untuk Unit dan Jasmine, yang menawarkan pernyataan gaya BDD.

rlayte
sumber