UNPKG

dolya

Version:

Середовище тестування для Мавки

231 lines (157 loc) 10.3 kB
# Документація Розділ документації містить короткий опис функціоналу, що надається Долею. ## Приклади написання тестів Приклади написання тестів можна переглянути [тут](../%D1%82%D0%B5%D1%81%D1%82%D0%B8/%D1%81%D1%82%D0%B0%D1%80%D1%82.%D1%82%D0%B5%D1%81%D1%82.%D0%BC) та [ось тут](../%D1%82%D0%B5%D1%81%D1%82%D0%B8/%D1%81%D1%82%D0%B0%D1%80%D1%82_%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D1%96_%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B8.%D1%82%D0%B5%D1%81%D1%82.%D0%BC). ## Структура - [`тестовий_випадок(назва, сценарій)`](#тестовий-випадок) Усередині сценарію: - [`припустити(значення)`](#припустити) - [`значення`](#фактичнийобʼєкт-значення) *(властивість)* - [`навпаки`](#фактичнийобʼєкт-навпаки) *(властивість)* - [`провалити`](#фактичнийобʼєкт-провалити) *(властивість)* - [`не_()`](#фактичнийобʼєкт-не) - [`дорівнює(очікуване_значення)`](#фактичнийобʼєкт-дорівнює) - [`є_пусто()`](#фактичнийобʼєкт-є-пусто) - [`є_вірне()`](#фактичнийобʼєкт-є-вірне) - [`падає()`](#фактичнийобʼєкт-падає) - [`має_довжину(очікувана_довжина)`](#фактичнийобʼєкт-має-довжину) - [`містить_елемент(елемент)`](#фактичнийобʼєкт-містить-елемент) - [`еквівалентний_списку(очікуваний_список)`](#фактичнийобʼєкт-еквівалентний-списку) - [`провалити(повідомлення)`](#провалити) - [`друк(...значення)`](#друк) ## Тестовий випадок ```mavka дія тестовий_випадок(назва текст, сценарій Дія) ніщо ``` Дія `тестовий_випадок()` приймає назву тесту та сценарій, котрий буде виконано. Не повертає жодних значень. ### Сценарій ```mavka дія сценарій() ніщо ``` Дія `сценарій()` не приймає та не повертає жодних значень. Усередині сценарію можна викликати такі Дії: - [`припустити(значення)`](#припустити) - [`провалити(повідомлення)`](#провалити) - [`друк(...значення)`](#друк) > **Note** > Зверніть увагу, що за замовчуванням > тест вважається успішним. > > Аби провалити тест без використання > припущень, необхідно викликати Дію > [`провалити()`](#провалити) усередині сценарію. ## Припустити ```mavka дія припустити(значення щось) ФактичнийОбʼєкт ``` Дія `припустити()` приймає фактичне значення, відносно якого буде застосовано припущення та повертає [`ФактичнийОбʼєкт`](#фактичнийобʼєкт), який містить різні операції припущення. Параметр `значення` потрапляє у властивість [`значення`](#фактичнийобʼєкт-значення) фактичного обʼєкту. ### ФактичнийОбʼєкт Макет фактичного обʼєкту виглядає наступним чином: ```mavka макет фактичний_обʼєкт_м не_() фактичний_обʼєкт_м дорівнює(очікуване_значення щось) ніщо є_пусто() ніщо є_вірне() ніщо падає() ніщо має_довжину(очікувана_довжина число) ніщо містить_елемент(елемент щось) ніщо еквівалентний_списку(очікуваний_список список) ніщо кінець ``` Також у фактичному обʼєкті на даний момент можна знайти такі властивості: ```mavka значення щось навпаки логічне провалити Дія ``` ## ФактичнийОбʼєкт: значення ```mavka значення щось ``` Значення, що було передано у Дію [`припустити()`](#припустити). ## ФактичнийОбʼєкт: навпаки ```mavka навпаки логічне ``` Визначає, чи наступна операція припущення буде зворотньою. ## ФактичнийОбʼєкт: провалити ```mavka провалити Дія ``` Див. [Провалити](#провалити). ## ФактичнийОбʼєкт: не ```mavka дія ФактичнийОбʼєкт.не_() ФактичнийОбʼєкт ``` Робить наступну операцію припущення зворотньою, змінюючи властивість [`навпаки`](#фактичнийобʼєкт-навпаки) фактичного обʼєкту. Для прикладу, вираз: ```mavka припустити(пусто).не_().є_пусто() ``` Означає, що `пусто` не повинне бути `пусто`, що однозначно провалить тест. ## ФактичнийОбʼєкт: дорівнює ```mavka дія ФактичнийОбʼєкт.дорівнює(очікуване_значення щось) ніщо ``` Припускає, що [`ФактичнийОбʼєкт.значення`](#фактичнийобʼєкт-значення) є рівне очікуваному значенню. Виконує магічну дію `виконати_порівняння_чи_не_рівно` на [`ФактичнийОбʼєкт.значення`](#фактичнийобʼєкт-значення) ## ФактичнийОбʼєкт: є пусто ```mavka дія ФактичнийОбʼєкт.є_пусто() ніщо ``` Припускає, що [`ФактичнийОбʼєкт.значення`](#фактичнийобʼєкт-значення) є `пусто`. ## ФактичнийОбʼєкт: є вірне ```mavka дія ФактичнийОбʼєкт.є_вірне() ніщо ``` Припускає, що [`ФактичнийОбʼєкт.значення`](#фактичнийобʼєкт-значення) дорівнює `так`. Виконує магічну дію `виконати_порівняння_чи_не_рівно` на [`ФактичнийОбʼєкт.значення`](#фактичнийобʼєкт-значення) ## ФактичнийОбʼєкт: падає ```mavka дія ФактичнийОбʼєкт.падає() ніщо ``` Припускає, що [`ФактичнийОбʼєкт.значення`](#фактичнийобʼєкт-значення) є `Дія` і не падає. ## ФактичнийОбʼєкт: має довжину ```mavka дія ФактичнийОбʼєкт.має_довжину(очікувана_довжина число) ніщо ``` Припускає, що [`ФактичнийОбʼєкт.значення`](#фактичнийобʼєкт-значення) є `список` і має довжину `очікувана_довжина`. Довжиною списку у фактичному значенні є результат виконання Дії `ФактичнийОбʼєкт.значення.довжина()`. ## ФактичнийОбʼєкт: містить елемент ```mavka дія ФактичнийОбʼєкт.містить_елемент(елемент щось) ніщо ``` Припускає, що [`ФактичнийОбʼєкт.значення`](#фактичнийобʼєкт-значення) є `список` і містить `елемент`. Список у фактичному значенні містить `елемент`, якщо `ФактичнийОбʼєкт.значення.знайти_позицію((ел): ел == елемент)` повертає значення, що `не менше 0`. ## ФактичнийОбʼєкт: еквівалентний списку ```mavka дія ФактичнийОбʼєкт.еквівалентний_списку(очікуваний_список список) ніщо ``` Припускає, що [`ФактичнийОбʼєкт.значення`](#фактичнийобʼєкт-значення) є `список` і еквівалентний списку `очікуваний_список`. Два списки вважаються еквівалентними, якщо вони мають однакову довжину і містять однакові елементи на кожній позиції. Для перевірки, чи елементи однакові використовується магічна дія `виконати_порівняння_чи_не_рівно`. ## Провалити ```mavka дія провалити(повідомлення текст) ніщо ``` Провалює поточний тестовий випадок із вказаним повідомленням. ## Друк ```mavka дія друк(...значення) ніщо ``` Приймає будь-яку кількість аргументів і друкує їх, позначаючи кожне повідомлення написом "**Тестовий випадок виводить:**"