2010-05-28 31 views
9

Trong một trong các dự án của tôi, tôi cần cộng tác với một số hệ thống phụ trợ. Một số người trong số họ phần nào thiếu tài liệu, và một phần do đó tôi có một số mã thử nghiệm tương tác với một số máy chủ thử nghiệm chỉ để xem mọi thứ hoạt động như mong đợi. Tuy nhiên, việc truy cập các máy chủ này khá chậm, và do đó tôi không muốn chạy các kiểm tra này mỗi khi tôi chạy bộ thử nghiệm của mình.Làm thế nào để bỏ qua các bài kiểm tra nhất định bằng Test :: Unit

Câu hỏi của tôi là cách giải quyết tình huống mà bạn muốn bỏ qua một số thử nghiệm nhất định. Hiện tại tôi sử dụng biến môi trường 'BACKEND_TEST' và một câu lệnh có điều kiện để kiểm tra xem biến có được đặt cho từng thử nghiệm mà tôi muốn bỏ qua hay không. Nhưng đôi khi tôi muốn bỏ qua tất cả các bài kiểm tra trong một tập tin thử nghiệm mà không cần phải thêm một hàng thêm vào đầu mỗi bài kiểm tra.

Các thử nghiệm phải tương tác với máy chủ thử nghiệm không nhiều, vì tôi sử dụng flexmock trong các tình huống khác. Tuy nhiên, bạn không thể chế nhạo mình khỏi thực tế.

Như bạn có thể thấy từ tiêu đề của câu hỏi này, tôi đang sử dụng Test :: Unit. Ngoài ra, nếu nó tạo ra bất kỳ sự khác biệt nào, dự án là một dự án Rails.

Trả lời

8

New Features Of Test Unit 2.x đề nghị đơn vị thử nghiệm 2.x (phiên bản đá quý, không phải thư viện chuẩn ruby ​​1.8) cho phép bạn bỏ qua các bài kiểm tra.

+1

Cảm ơn bạn! Tôi thực sự đọc slide trước, nhưng không bao giờ nhìn nếu 2.x thực sự đã được phát hành. Nó có và tôi sẽ xem xét kỹ hơn. –

+1

Lưu ý rằng việc bỏ qua các kiểm tra không thành công. Nếu bạn không muốn một loạt các bài kiểm tra không thành công, bạn có thể thử bỏ qua Minitest hoặc chỉ cần thêm một câu lệnh trả về vào một số điều kiện ở đầu bài kiểm tra của bạn. – coberlin

+0

@coberlin - Lưu ý: Bỏ qua một ngoại lệ CHỈ nếu không có khối nào được đưa ra. Bạn chỉ có thể vượt qua cơ thể của bài kiểm tra của bạn như là khối. –

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