Tôi đang thử nghiệm một gói cung cấp giao diện cho một vài dịch vụ web. Nó có một bộ thử nghiệm được cho là để kiểm tra hầu hết các chức năng mà không cần kết nối với internet. Tuy nhiên, có một số thử nghiệm kéo dài có thể cố kết nối với dữ liệu internet/tải xuống và tôi muốn ngăn chúng làm như vậy vì hai lý do: trước tiên, để đảm bảo rằng bộ thử nghiệm của tôi hoạt động nếu không có kết nối mạng; thứ hai, để tôi không gửi spam các dịch vụ web với các truy vấn dư thừa.Python: chặn kết nối mạng cho mục đích thử nghiệm?
Một giải pháp rõ ràng là rút phích cắm máy của tôi/tắt không dây, nhưng khi tôi chạy thử nghiệm trên máy từ xa rõ ràng không hoạt động.
Vì vậy, câu hỏi của tôi: Tôi có thể chặn truy cập mạng/cổng cho một quá trình python không? ("Sandbox" nó, nhưng chỉ chặn các kết nối mạng)
(afaict, pysandbox không làm điều này)
EDIT: Tôi đang sử dụng py.test
vì vậy tôi cần một giải pháp mà sẽ làm việc với py.test
, trong trường hợp ảnh hưởng đến bất kỳ câu trả lời được đề xuất nào.
Điều này thật tuyệt! Bất kỳ suy nghĩ về làm thế nào để có được py.test để chạy này trước khi bất cứ điều gì khác? – keflavich
Trả lời nhận xét cuối cùng của tôi: chạy câu lệnh này trong 'conftests.py'. – keflavich
@keflavich Tốt để biết - cảm ơn! –