PowerShell:
Написание тестов

Как это сделать:

Вот быстрый тест для функции, которая складывает числа, с использованием Pester, фреймворка для тестирования в PowerShell. Обычно этот скрипт сохраняется как Add.Tests.ps1.

# Пример функции для тестирования
function Add ($a, $b) {
    return $a + $b
}

# Импортирование модуля Pester
Import-Module Pester

# Определение теста
Describe "Add-Function" {
    It "складывает два числа" {
        # Подготовка
        $num1 = 10
        $num2 = 20
        $expected = 30

        # Действие
        $result = Add $num1 $num2

        # Проверка
        $result | Should -Be $expected
    }
}

# Запуск теста
Invoke-Pester

После запуска скрипта вы увидите следующий вывод:

Describing Add-Function
    [+] складывает два числа 75ms
Тесты завершены за 75ms
Тесты Прошли: 1, Не прошли: 0, Пропущены: 0 Не выполнены: 0

Глубокое погружение:

Исторически, тестирование в PowerShell было гораздо более ручным процессом до появления Pester. Этот фреймворк изменил ситуацию, предоставив мощный, но простой синтаксис для автоматизированного тестирования, заимствуя концепции из фреймворков тестирования в других языках. Альтернативы Pester включают PSUnit и PSTest, но Pester является самым широко используемым и интегрированным непосредственно в PowerShell Core для поддержки кросс-платформенности. Детальная реализация тестов включает в себя цикл, обычно называемый “Красный, Зелёный, Рефакторинг”, где тесты изначально пишутся так, чтобы они не проходили (Красный), затем код пишется так, чтобы тесты проходили (Зелёный), за чем следует этап чистки кода без изменения поведения (Рефакторинг).

Смотрите также: