Що таке "рамки твердження"?


10

Я читав про рамку тестування одиниць js-test-driver, коли дізнався, що хлопці, що стоять за рамками, мають намір інтегруватися з рамкою твердження . Що таке рамки твердження? Це якась рамка тестування одиниць? Якщо це так, що є специфічним для таких рамок?

Відповіді:


9

Прикладом структури тверджень може бути Hamcrest, який був інтегрований у JUnit 4. Hamcrest не проводить тести, він лише надає виразний спосіб написання тверджень.

Старе твердження про рівність стилю JUnit:

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

Затвердження рівності стилю Hamcrest:

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

По суті, структура твердження дозволяє виконувати ваші твердження легко розширюваним чином. Оскільки рамка твердження зосереджена лише на твердженнях, вона може зробити цю роботу набагато краще, ніж інструмент, який також повинен збирати та запускати тести. NUnit також застосував підхід Hamcrest до тверджень. Ви б не використовували Hamcrest для запуску своїх тестів, а лише для написання тверджень.


2

JsTestDriver в першу чергу стосується забезпечення тестового бігуна, тобто способу виконання тестів.

Він забезпечує вбудовану рамку твердження, яка є xUnit в стилі. Це використовується для фактичного написання тестів (наприклад, assrtTrue, assertEquals тощо). Однак він також дозволяє підключати до альтернативних рамок тверджень. В даний час доступні плагіни для Unit і Jasmine, які пропонують твердження в стилі BDD.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.