Coverage for tests / test_tutorial / test_first_steps / test_tutorial002.py: 100%

19 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-03-26 21:46 +0000

1import subprocess 1abcdefg

2import sys 1abcdefg

3 

4import typer 1abcdefg

5from typer.testing import CliRunner 1abcdefg

6 

7from docs_src.first_steps import tutorial002_py310 as mod 1abcdefg

8 

9runner = CliRunner() 1abcdefg

10 

11app = typer.Typer() 1abcdefg

12app.command()(mod.main) 1abcdefg

13 

14 

15def test_1(): 1abcdefg

16 result = runner.invoke(app, []) 1abcdefg

17 assert result.exit_code != 0 1abcdefg

18 assert "Missing argument 'NAME'" in result.output 1abcdefg

19 

20 

21def test_2(): 1abcdefg

22 result = runner.invoke(app, ["Camila"]) 1abcdefg

23 assert result.exit_code == 0 1abcdefg

24 assert "Hello Camila" in result.output 1abcdefg

25 

26 

27def test_script(): 1abcdefg

28 result = subprocess.run( 1abcdefg

29 [sys.executable, "-m", "coverage", "run", mod.__file__, "--help"], 

30 capture_output=True, 

31 encoding="utf-8", 

32 ) 

33 assert "Usage" in result.stdout 1abcdefg