2013-10-24 14 views
8

Tôi đang cố gắng tìm ra những dòng ứng dụng Flask nào đang được chạy. Tôi bắt đầu Flask như thế này:Tại sao coverage.py không đo lường đúng lệnh runerver của Flask?

coverage run manage.py runserver 

Output trông như thế này:

* Running on http://127.0.0.1:5000/ 
* Restarting with reloader 

manage.py trông như thế này:

#!/usr/bin/env python 
from flask.ext.script import Manager 

from my_flask_app import app 

manager = Manager(app) 

if __name__ == '__main__': 
    manager.run() 

sau đó tôi truy cập vào các phần khác nhau của ứng dụng thông qua HTTP.

Khi tôi xem xét báo cáo HTML về phạm vi phủ sóng, nó chỉ cho biết các định nghĩa phương thức được đề cập, không phải là các thực thể của phương pháp.

Tôi nghi ngờ đó là vì các phương pháp đang được thực thi bởi một tiến trình con không được bảo hiểm bởi coverage.py.

Bất kỳ ý tưởng nào?

Trả lời

7

Vì vậy, nó chỉ ra rằng vấn đề có liên quan đến thông báo 'tải lại' ở trên. Báo cáo bảo hiểm là đúng khi tôi bắt đầu Flask như thế này thay vì:

coverage run manage.py runserver -R 

Output sau đó chỉ chứa này:

* Running on http://127.0.0.1:5000/ 

Bằng cách này nó không khởi động máy chủ trong một quá trình riêng biệt, và bảo hiểm hoạt động tốt.

tôi tìm thấy giải pháp này nhờ vào này có liên quan Django câu hỏi:

Why doesn't coverage.py properly measure Django's runserver command?

Các vấn đề liên quan