В 1.6.0 elide test не находит тесты Python; в каталоге только с Python он выводит No tests found. и завершается с
кодом 0. Вместо этого запускайте средство запуска тестов как модуль. Код выхода берётся от него, поэтому упавший
тест приводит к ошибке команды.
Примеры тестируют этот модуль:
# greet/cli.py
import sys
def greeting(name: str) -> str:
return f"Hello, {name}!"
def main() -> int:
print(greeting(sys.argv[1] if len(sys.argv) > 1 else "world"))
return 0В greet/ и tests/ лежит по пустому __init__.py.
unittest
unittest входит в стандартную библиотеку:
# tests/test_cli.py
import unittest
from greet.cli import greeting
class GreetingTest(unittest.TestCase):
def test_names_the_caller(self):
self.assertEqual(greeting("Elide"), "Hello, Elide!")elide python -m unittest discover -s tests -t ..
----------------------------------------------------------------------
Ran 1 test in 0.001s
OKpytest
Установите pytest в виртуальное окружение Python 3.13 (Пакеты и виртуальные окружения) и
запустите его с заданной VIRTUAL_ENV:
uv venv --python 3.13 .venv
uv pip install --python .venv/bin/python pytest# tests/test_greeting.py
from greet.cli import greeting
def test_default_name():
assert greeting("world") == "Hello, world!"VIRTUAL_ENV=.venv elide python -m pytest -qpytest находит оба файла и завершает вывод так:
2 passed in 0.03sВ CI
Добавьте компонент Python после установки Elide (elide setup python) и запустите те же команды; см.
Непрерывная интеграция.