Tôi đang sử dụng python
khuôn khổ unittest
. Có thể chỉ định bởi khả năng của khung thời gian chờ kiểm tra? Nếu không, có thể chỉ định một cách duyên dáng một timeout
cho tất cả các thử nghiệm và đối với một số thử nghiệm được tách riêng có giá trị riêng cho từng thử nghiệm không?
Tôi muốn xác định global timeout
cho tất cả các thử nghiệm (chúng sẽ sử dụng nó theo mặc định) và thời gian chờ cho một số thử nghiệm có thể mất nhiều thời gian.Làm thế nào để xác định thời gian chờ kiểm tra cho python unittest?
13
A
Trả lời
13
Theo như tôi biết unittest
không chứa bất kỳ hỗ trợ nào cho thời gian chờ kiểm tra.
Bạn có thể thử thư viện timeout-decorator
từ PyPI. Áp dụng các trang trí trên các bài kiểm tra cá nhân để làm cho họ chấm dứt nếu họ mất quá lâu:
import timeout_decorator
class TestCaseWithTimeouts(unittest.TestCase):
# ... whatever ...
@timeout_decorator.timeout(LOCAL_TIMEOUT)
def test_that_can_take_too_long(self):
sleep(float('inf'))
# ... whatever else ...
Để tạo một thời gian chờ toàn cầu, bạn có thể thay thế gọi
unittest.main()
với
timeout_decorator.timeout(GLOBAL_TIMEOUT)(unittest.main)()
Các vấn đề liên quan
- 1. Cách kiểm tra thời gian chờ của DeferredResultResult
- 2. Làm thế nào để bạn kiểm tra thời gian chờ javascript bằng Firebug?
- 3. Backbone.js: xác định thời gian chờ để triển khai Backbone.sync
- 4. Python unittest: làm thế nào để kiểm tra đối số trong một ngoại lệ?
- 5. CLGeocoder làm thế nào để thiết lập thời gian chờ?
- 6. Cụ thể kiểm tra lỗi hết thời gian chờ
- 7. Làm thế nào để kiểm tra trang trí hàm Python?
- 8. Làm thế nào để ffprobe xác định thời gian?
- 9. Làm cách nào để kiểm tra cài đặt thời gian chờ WCF?
- 10. Đặt thời gian chờ kiểm tra với PHPUnit
- 11. Kiểm tra thời gian chờ của phiên trong Laravel
- 12. Có thể kiểm tra thời gian chờ trên jQuery.post() không?
- 13. Kiểm tra hết thời gian chờ phiên ASP.NET
- 14. kiểm tra đơn vị python cách làm thế nào để
- 15. Làm thế nào để kiểm tra xác nhận tương tự cho số lượng lớn dữ liệu
- 16. Làm thế nào để xác định các hệ thống LTI với thời gian trễ trong Scipy?
- 17. Làm thế nào để kiểm tra chức năng cho thời gian thực hiện trong android?
- 18. Thời gian chờ cho WaitGroup.Wait()
- 19. Thời gian chờ jQuery AJAX không được xác định
- 20. Làm cách nào để kiểm tra phiên bản của python API tại thời gian biên dịch?
- 21. Thời gian chờ cho BackgroundWorker
- 22. Magento 1.8: Khóa các sự cố chờ thời gian chờ khi khách hàng đang kiểm tra
- 23. Làm thế nào để làm cho thời gian chờ SqlConnection nhanh hơn
- 24. % Thời gian kiểm tra RT
- 25. làm thế nào để buộc thời gian chờ trên thư viện yêu cầu python (bao gồm tra cứu DNS)
- 26. làm cách nào để đặt giá trị thời gian chờ cho cơ chế hóa của python?
- 27. Thời gian chờ kết nối socket Python
- 28. Làm thế nào để xử lý thời gian chờ của urllib trong Python 3?
- 29. Làm thế nào để thiết lập thời gian mặc định cho thời gian đầu vào simple_form
- 30. Làm thế nào để tùy chỉnh định dạng thời gian cho việc ghi nhật ký Python?
Thú vị. Tôi không sử dụng 'unittest.main()', nhưng tôi hy vọng tôi có thể sử dụng 'decorator' cho trường hợp của tôi. Nhưng các bài kiểm tra của tôi sẽ không đi theo một chủ đề nào ... – Jury
@Jury Kiểm tra phần "Đa luồng" trong tham chiếu ['timeout-decorator'] (https://pypi.python.org/pypi/timeout-decorator) - bạn chỉ cần cần sử dụng 'timeout_decorator.timeout (TIMEOUT, use_signals = False)' trong môi trường nhiều luồng. – Lav
Vâng, tôi đã nhìn thấy nó. Tôi sẽ thử. – Jury