Coverage for tests/test_005_multi_commands.py: 100%
18 statements
« prev ^ index » next coverage.py v7.6.0, created at 2024-08-01 16:52 +0200
« prev ^ index » next coverage.py v7.6.0, created at 2024-08-01 16:52 +0200
1import subprocess
2import sys
4import typer
5from typer.testing import CliRunner
7from examples import example_005_multi_commands as mod
9runner = CliRunner()
11app = mod.app
14def test_help():
15 result = runner.invoke(app, ["--help"])
16 assert result.exit_code == 0
19def test_all_commands():
20 result = runner.invoke(app, ["hi", "--user.id", "1"])
21 assert "Hi id=1 name='John'" in result.output
22 result = runner.invoke(app, ["bye", "--user.id", "1"])
23 assert "Bye id=1 name='John'" in result.output
26def test_script():
27 result = subprocess.run(
28 [sys.executable, "-m", "coverage", "run", mod.__file__, "--help"],
29 capture_output=True,
30 encoding="utf-8",
31 check=False,
32 )
33 assert "Usage" in result.stdout