@@ -393,6 +393,17 @@ def aaa_post():
393
393
cli = FlaskGroup (create_app = create_app )
394
394
return partial (runner .invoke , cli )
395
395
396
+ @pytest .fixture
397
+ def invoke_no_routes (self , runner ):
398
+ def create_app (info ):
399
+ app = Flask (__name__ , static_folder = None )
400
+ app .testing = True
401
+
402
+ return app
403
+
404
+ cli = FlaskGroup (create_app = create_app )
405
+ return partial (runner .invoke , cli )
406
+
396
407
def expect_order (self , order , output ):
397
408
# skip the header and match the start of each row
398
409
for expect , line in zip (order , output .splitlines ()[2 :]):
@@ -430,6 +441,11 @@ def test_all_methods(self, invoke):
430
441
output = invoke (['routes' , '--all-methods' ]).output
431
442
assert 'GET, HEAD, OPTIONS, POST' in output
432
443
444
+ def test_no_routes (self , invoke_no_routes ):
445
+ result = invoke_no_routes (['routes' ])
446
+ assert result .exit_code == 0
447
+ assert 'No routes were registered.' in result .output
448
+
433
449
434
450
need_dotenv = pytest .mark .skipif (
435
451
dotenv is None , reason = 'dotenv is not installed'
0 commit comments