2011-10-01 35 views
7

Đây là lưu ý bổ sung cho câu hỏi "Factory Girl - what's the purpose?"Factory Girl vs. User.create - sự khác biệt là gì?

Tôi không chắc liệu câu hỏi của tôi có được tính lặp lại hay không, nhưng tôi vẫn không rõ ràng sau khi đọc bài đăng đó, vì tôi nghĩ rằng sự nghi ngờ của tôi là vẫn khác.

Được rồi, vì vậy bây giờ chúng ta luôn có thể sử dụng User.create() trong khối trước (: each) trong một thử nghiệm Rspec, tại sao chúng ta vẫn bận tâm khi sử dụng Factory Girl?

Sự nhầm lẫn này xảy ra với tôi khi tôi đọc "Hướng dẫn Rails" của Michael Hartl, khi anh đột nhiên nhảy vào Factory Girl nhưng sử dụng User.create() để xây dựng một cá thể người dùng theo cách trước đó.

Tôi muốn ai đó có thể làm rõ điểm này cho tôi, thx rất nhiều!

Trả lời

4

Bạn là chính xác nhưng đá quý như nhà máy sản xuất và chế tạo cho phép sao chép mã ít hơn đáng kể qua các vòng và trong các thử nghiệm khác nhau khi bạn cần kiểm tra các tập dữ liệu lớn yêu cầu các giá trị thuộc tính khác nhau do yêu cầu duy nhất. Nó trộn lẫn trong các phương pháp để dễ dàng "sản xuất" nhiều đối tượng khác nhau cho các loại thử nghiệm này.

+2

Vì vậy, sức mạnh của Factory Girls chỉ khởi động khi chúng ta cần xây dựng một không gian lớn. các cá thể và/hoặc các cá thể sẽ được sử dụng trong các ví dụ kiểm tra khác nhau? Sau đó, miễn là chúng ta cần phải xây dựng 1 hoặc 2 trường hợp duy nhất, sử dụng nhà máy không tạo ra nhiều sự khác biệt đúng không? –

+0

@ adam_0628, tôi đồng ý với bạn kết luận. Ngoài ra, có thể thấy câu hỏi được liên kết để giải thích thêm? http://stackoverflow.com/questions/5183975/factory-girl-whats-the-purpose – sivabudh

+0

@ ShaChris23, cảm ơn nhận xét của bạn. Đối với các hồ sơ, liên kết của bạn là chính xác của tôi "Nhà máy Girl - mục đích là gì" một trong bài viết của tôi. Haha cảm ơn anyway! :) –

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