t27.aiEnglish

Много тестов в одной спеке

Вы узнаете

Почему несколько маленьких тестов читаются проще одного длинного и как отчёт их считает.

Спека может держать сколько угодно блоков test. Каждый проверяет одну мысль и носит имя, которое её называет. Отчёт считает тесты и assert отдельно: в спеке урока 3 теста и 5 assert. Когда один падает, его имя говорит, какая мысль сломалась, а остальные тесты по-прежнему отчитываются о своих.

Попробуйте

Сделайте так, чтобы один из трёх тестов упал, и проверьте, что два других проходят.

Открыть интерактивный урок →

t27 basics 11: three tests, one idea each
t27 basics 11: three tests, one idea each ↗

The tests of a t27 spec counted one by one, with the asserts in each, from the lesson spec. Lesson 11 of the t27 basics course.

specs/basics/11_many_tests.t27

// SPDX-License-Identifier: Apache-2.0
; t27 basics, lesson 11: Many tests in one spec.
; Split checks into small named tests, so a failure points at one idea.

module basics_11_many_tests;

pub const HOURS : u8 = 24;
pub const MINUTES : u8 = 60;
pub const DAYS_IN_WEEK : u8 = 7;

test a_day_has_24_hours {
    assert HOURS == 24;
}

test an_hour_has_60_minutes {
    assert MINUTES == 60;
    assert MINUTES > HOURS;
}

test a_week_has_7_days {
    assert DAYS_IN_WEEK == 7;
    assert DAYS_IN_WEEK < HOURS;
}

Открыть спеку урока в плеере ↗

Все уроки