Zum Inhalt springen

Python-Tests

Führen Sie Python-Tests auf Elide mit unittest aus der Standardbibliothek oder mit pytest aus einer virtuellen Umgebung aus; elide test findet in 1.6.0 keine Python-Tests.

Auf dieser Seite
Open in ChatGPTOpen in Claude

elide test findet in 1.6.0 keine Python-Tests; in einem reinen Python-Verzeichnis gibt es No tests found. aus und endet mit Exit-Code 0. Führen Sie stattdessen den Test-Runner als Modul aus. Der Exit-Code ist der des Runners, ein fehlschlagender Test lässt also den Befehl fehlschlagen.

Die Beispiele testen dieses Modul:

# 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/ und tests/ enthalten jeweils eine leere __init__.py.

unittest

unittest gehört zur Standardbibliothek:

# 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

OK

pytest

Installieren Sie pytest in eine virtuelle Umgebung für Python 3.13 (Pakete und virtuelle Umgebungen) und führen Sie es mit gesetztem VIRTUAL_ENV aus:

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 sammelt beide Dateien und endet mit:

2 passed in 0.03s

In CI

Fügen Sie nach der Installation von Elide die Python-Komponente hinzu (elide setup python) und führen Sie dann dieselben Befehle aus; siehe Continuous Integration.

War diese Seite hilfreich?