2012-01-27 20 views
12

Tôi mới sử dụng rspec và khá mới đối với đường ray. Khi viết các trường hợp kiểm tra cho các bộ điều khiển tôi đã nhận thấy render_views được sử dụng thường xuyên. Điều này làm gì và điều gì sẽ xảy ra nếu tôi không gọi nó?Render_views làm gì trong rspec?

Trả lời

11

nó hiển thị chế độ xem trong thông số bộ điều khiển. Nếu bạn không đặt render_views, các khung nhìn sẽ không hiển thị, điều đó có nghĩa là trình điều khiển được gọi nhưng sau khi nó trả về các khung nhìn sẽ không được hiển thị. Kiểm tra bộ điều khiển sẽ chạy nhanh hơn, vì chúng sẽ không phải hiển thị chế độ xem nhưng bạn có thể bỏ sót lỗi trong chế độ xem.

+0

Ok hợp lý. Vì vậy, nếu bộ điều khiển của tôi không có bất kỳ quan điểm liên quan sau đó gọi 'render_views' là vô nghĩa? Các bài kiểm tra của tôi hoạt động tốt bằng cách gọi 'render_views' vì vậy tôi đoán đó là trường hợp. – SundayMonday

+1

vâng, nếu bạn không có lượt xem thì đó là điểm moot – daniel

8

Đó là khoảng isolation. Ý tưởng là bạn không muốn thông số kỹ thuật điều khiển của bạn thất bại vì có một lỗi cú pháp trong khung nhìn, điều này sẽ gây ra một đặc tả yêu cầu hoặc một đặc tả khung nhìn thất bại. Nếu bạn không viết thông số kỹ thuật yêu cầu hoặc xem thông số kỹ thuật hoặc các tính năng của Cucumber thì render_views có thể giúp bạn từ góc độ phủ sóng thử nghiệm.

+0

Như bạn đã lưu ý [ở đây] (https://groups.google.com/forum/?fromgroups#!topic/rspec/Gwnlou54x1M), tôi sẽ thêm render_views đó cũng có thể được sử dụng trong thông số kỹ thuật của trình trợ giúp nếu, có một trình trợ giúp hiển thị một phần hoặc mẫu. – aceofbassgreg