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

1import subprocess 

2import sys 

3 

4import typer 

5from typer.testing import CliRunner 

6 

7from examples import example_005_multi_commands as mod 

8 

9runner = CliRunner() 

10 

11app = mod.app 

12 

13 

14def test_help(): 

15 result = runner.invoke(app, ["--help"]) 

16 assert result.exit_code == 0 

17 

18 

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 

24 

25 

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