2012-11-10 20 views
5

Gần đây tôi đã học được, Rspec + Capybara (Tôi là người mới thử nghiệm mọi thứ). Và tôi đã thử nghiệm một số mô hình mới mà tôi đã tạo. Bây giờ, tôi đã nghĩ đến việc thêm cột title vào mô hình Post của mình. Nó không phải là một nhiệm vụ khó khăn, và tôi đã thực hiện nó nhiều lần trước đây. Nhưng tôi nhận ra rằng nó sẽ đưa tôi một số công việc cập nhật các tập tin spec (ví dụ như bài viết, trang đăng bài, người sử dụng, trang người dùng, nhà máy, sample_data, vv).Có thực hành tốt để kiểm tra hoàn toàn mọi thứ hay không lãng phí thời gian (Rails)?

Thử nghiệm trong trường hợp này có lãng phí thời gian không? Hoặc nó là một thực hành tốt để kiểm tra hoàn toàn tất cả mọi thứ?

Tôi cũng tự hỏi nếu thử nghiệm đá quý là một sự lãng phí thời gian là tốt? Vì họ có thể đã được thử nghiệm bởi những người sáng tạo của họ (tương tự để thử nghiệm một cái gì đó lấy từ một hướng dẫn đáng tin cậy).

Trả lời

4

Trong khi cộng đồng ruby ​​được biết đến với trọng tâm là thử nghiệm, mọi trường hợp cần được phân tích trong ngữ cảnh để tìm ra quyết định hiệu quả nhất về chi phí là gì.

Sẽ rất hữu ích khi nghĩ các xét nghiệm là một kỹ thuật để quản lý rủi ro. Nếu bạn không nghĩ rằng việc hiển thị tiêu đề/thêm chúng vào cơ sở dữ liệu là một công việc dễ bị lỗi, phức tạp để thực hiện hoặc chi phí thêm các thử nghiệm đó cao hơn nguy cơ cuối cùng phá vỡ thứ gì đó, chúng có thể là khôn ngoan để không làm điều đó. Điều đó nói rằng, vì bạn nói rằng bạn là người mới để thử nghiệm, tôi khuyên bạn nên (nếu bạn không phải là thời gian hạn chế, tất nhiên) để cố gắng đưa ý tưởng đến cùng cực của thử nghiệm hoàn toàn tất cả mọi thứ, để bạn có thể có một ý tưởng về số tiền của nó cho biết thêm giá trị, và bao nhiêu là lãng phí thời gian.

Bạn có thể muốn xem xét bài viết trên blog này từ DHH, tác giả của Rails, nơi ông nói về điều đó: Testing like the TSA

Về ngọc thử nghiệm, nói chung là cũng chấp nhận rằng họ không nên thử nghiệm bởi các bài kiểm tra ứng dụng của bạn, nhưng bởi người sáng tạo của họ. Hầu hết thời gian bạn có thể chỉ đơn giản là giả định rằng họ làm việc theo cách họ hứa hẹn.

+0

Cảm ơn câu trả lời. Tôi đã luôn tự hỏi về điều đó. Tại sao cộng đồng ruby ​​lại tập trung vào thử nghiệm (hoặc cộng đồng Rails)? – alexchenco

+0

@alexchenco Tôi không có câu trả lời cụ thể về điều đó, nhưng tôi nghĩ một phần là do ngôn ngữ đã đi kèm với một khung kiểm thử được xây dựng ('test/unit'), và phần lớn cộng đồng nguồn gốc của nó trên phong trào nhanh/XP. –

+0

Tôi hiểu. Vâng, như tôi chưa bao giờ nghe nói về cộng đồng python nói về thử nghiệm. – alexchenco

1

một trong những khái niệm chính của thử nghiệm là: "Không thể kiểm tra mọi thứ"

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