Skip to content

hexlet-components/hexlet-test-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hexlet-test

Pytest-утилита для тестирования упражнений на Hexlet. Предоставляет функцию expect_output, которая запускает решение студента и проверяет его вывод в stdout.

Установка

# pyproject.toml упражнения
dependencies = [
  "hexlet-test @ git+https://github.com/hexlet-components/hexlet-test-python.git"
]

Использование

Проверка точного вывода

# test_code.py
from hexlet.test import expect_output

def test(capsys):
    expect_output(capsys, "Hello, World!")

Функция импортирует index.py из директории упражнения, захватывает stdout и сравнивает с ожидаемым значением.

Проверка многострочного вывода

def test(capsys):
    expect_output(capsys, "line one\nline two\nline three")

Проверка через функцию-валидатор

Если логика проверки сложнее точного совпадения, можно передать функцию:

def test(capsys):
    def check(actual):
        assert "error" not in actual.lower()
        assert len(actual) > 0

    expect_output(capsys, check)

Структура упражнения

exercise/
├── index.py        ← решение студента (импортируется автоматически)
└── test_code.py    ← тест с expect_output

About

Small test utils

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages