لا يكتشف elide test اختبارات Python في الإصدار 1.6.0؛ ففي مجلد لا يحوي إلا 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 -qيجمع pytest الملفين كليهما وينتهي بما يلي:
2 passed in 0.03sفي CI
أضف مكوّن Python بعد تثبيت Elide (elide setup python)، ثم شغّل الأوامر نفسها؛ راجع
التكامل المستمر.