Không, không có ý nghĩa gì khi phát triển trình phân tích cú pháp. Bạn có thể lấy thông tin tương đương từ các lớp học trong mô-đun runner.py.
xem xét mở rộng cả hai lớp TextTestRunner và TextTestResult với logic tùy chỉnh của bạn (python 2.7). Kết quả bạn đã liệt kê được tạo bởi TextTestResult.
Hoặc bạn có thể mở rộng chỉ TextTestResult và thay đổi thuộc tính lớp TextTestRunner.resultclass đặt nó vào tên lớp tiện ích mới.
Dữ liệu bạn có thể trích xuất từ TextTestResult và đưa vào một số danh sách từ điển lớn hơn hoặc tương đương với dữ liệu mà trình phân tích cú pháp của bạn có thể trích xuất.
Khuôn khổ unittest cho phép các thủ thuật như vậy do thiết kế linh hoạt của nó. Hy vọng điều này hữu ích.
[EDIT]
tôi sẽ tìm thấy công bố kết quả của bạn cho đến nay (ví dụ như một mã nguồn mở trên github) có tiềm năng rất hữu ích cho những người tìm thấy câu hỏi của bạn!
Có nói rằng tôi nghi ngờ sẽ dễ dàng cải thiện trình phân tích cú pháp thực tế ngoài phân tích cú pháp regexp cơ bản.
Nếu bạn vẫn muốn theo đuổi phương pháp phân tích cú pháp văn bản - bạn có thể cần liệt kê và mô tả "tất cả các hương vị của định dạng thử nghiệm Đơn vị Python" mà bạn muốn bao gồm/hỗ trợ. Nếu bạn may mắn để đưa một mô tả như vậy dưới hình thức ngữ pháp không có ngữ cảnh, thì có thể bạn sẽ có thể phát triển một trình phân tích cú pháp cho nó, mà sẽ bao gồm các trường hợp "đó" như một dạng của một ngôn ngữ. Hãy chú ý cẩn thận: nếu phân tích cú pháp văn bản không được bao hàm bởi việc lập lại đơn giản và có khả năng bạn đang phân tích một số ngôn ngữ không theo ngữ cảnh (rất nhạy cảm) - rất có thể bạn sẽ thấy nó vô cùng khó khăn để thực hiện.
Nguồn
2011-01-22 01:24:49
Có giá trị là –
Đây là công việc cho thử nghiệm * runner * như 'mũi' hoặc' py.test' để cung cấp đầu ra có thể phân tích cú pháp như định dạng XUnit XML. – jfs