2010-10-01 40 views
19

Tôi sử dụng PHPUnit để kiểm tra đơn vị, nhưng khi lỗi nghiêm trọng được kích hoạt, tập lệnh chết và tôi không có đầu ra PHPUnit đúng.PHPUnit: Xử lý lỗi nghiêm trọng

Tôi muốn rằng đầu ra PHPUnit giữ nguyên là được định dạng chính xác, vì nó được đọc bởi một plugin cho Eclipse. Trên thực tế, lỗi nghiêm trọng dừng PHPUnit và trong Eclipse, plugin không thể giải thích bất cứ điều gì (vì kịch bản lệnh PHPUnit có lỗi, thay vì xử lý nó).

Cảm ơn

+0

loại lỗi nghiêm trọng nào? nếu họ là cú pháp hoặc ngữ nghĩa liên quan, bạn đang ra khỏi may mắn. – stillstanding

Trả lời

26

Bạn cần sử dụng các tính năng cách ly quy trình của PHPUnit - bắt đầu từng bộ thử nghiệm trong quy trình mới.

phpunit --process-isolation ... 

Đây là cách duy nhất để đảm bảo lỗi nghiêm trọng không làm hỏng đầu ra phpunit của bạn.

Execution time

Process cách ly sẽ nhân thời gian chạy thử nghiệm của bạn, bởi vì cho mỗi bài kiểm tra đơn, một ví dụ PHP mới được bắt đầu, bootstrap được thực hiện, vv

Sửa đổi tình trạng này, bạn có thể chọn chạy toàn bộ các trường hợp thử nghiệm trong một quy trình riêng biệt (@runTestsInSeparateProcesses) hoặc chỉ những trường hợp đơn lẻ được biết là gây tử vong đôi khi (@runInSeparateProcess).

+1

Hãy sẵn sàng mặc dù nó làm tăng đáng kể việc thực hiện kiểm tra. Đã đi từ 4 giây đến 90 giây ở đây chỉ với 150 bài kiểm tra trên một ứng dụng nhỏ. – stefgosselin

+0

Bạn có thể tắt "hình thu nhỏ dự phòng" để có tốc độ thử nghiệm tốt hơn. Nó cũng phụ thuộc vào tốc độ của tập tin bootstrap của bạn. – cweiske

+0

- tiến trình cô lập có thể gây ra tổn thương bộ não lớn khi tôi thử chạy hơn 7000 thử nghiệm, tôi đã sử dụng 'register_shutdown_function()' trong --bootstrap và --printer để tích hợp TeamCity. Tôi sẽ chia sẻ các nguồn vào cuối tháng này. –

2

set_error_handler() sẽ không giúp bạn ở đó. Bạn có thể gặp lỗi nghiêm trọng khi sử dụng register_shutdown_function()

+0

Như đã nói, tôi muốn có một lỗi PHPUnit (Tôi muốn đầu ra phpunit không bị rối tung lên). Tôi đã mở rộng mô tả câu hỏi. –

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