Tôi đang viết một ứng dụng web được sử dụng SaS. Mỗi khách hàng có thư mục ứng dụng và db riêng của họ, vì vậy tôi có một nhiệm vụ cào tạo tất cả dữ liệu tối thiểu cần thiết (dữ liệu hạt giống) để chạy trang web của họ: quyền và vai trò mặc định, người dùng superadmin, bảng "us_states" đã phổ biến, một số kho địa phương và thiết bị đầu cuối (đó là một ứng dụng hậu cần).Dữ liệu hạt giống trong các thử nghiệm dưa chuột
Tôi không có bất kỳ tình huống dưa chuột nào cho nó và tôi vừa bắt đầu xây dựng một số. Tôi là người mới bắt đầu với dưa chuột.
Lần đầu tiên tôi đặt tác vụ dữ liệu hạt giống đó vào dòng Given, nhưng điều đó là khá nhiều đối với tất cả các trường hợp và không có ý nghĩa gì với những người không lập trình xem xét kịch bản (đối với con người, là như vậy cho rằng nó không cần phải được thể hiện có ý thức) vì vậy tôi chuyển nó vào hooks.rb.
kịch bản đầu tiên của tôi trông như thế này:
1 Feature: Place an order
2 In order to keep orders in the database
3 As a admin
4 I want to place orders
5
6 Scenario: Using common legs
7 Given I have 1 customers
8 And I'm on the homepage
9 And I follow "Place an Order"
10 When I select the customer
11 And I select the SSLine
12 And I click "Use Common Legs"
13 Then I should see "PICKUP AT"
14 And I should see "DELIVER TO" or "LOAD AT"
15 And I should see EMPTY RETURN
hooks.rb của tôi trông như thế này:
1 Before do
2 MinimumData.new('costi', '1234').populate #username and password
3 end
Câu hỏi:
- Tôi không muốn chạy MinimumData này. điền công việc trước mỗi kịch bản bởi vì nó mất 8 giây. Tôi có nên làm cho nó chạy chỉ một lần, trên toàn cầu? Làm sao?
- Tôi có phải dọn dẹp cơ sở dữ liệu bằng After.do không? Tôi thực sự không muốn làm điều đó, bởi vì tôi sẽ lặp lại logic trong After.do, chỉ với các câu lệnh Model.delete_all. Tôi nhận thấy rằng sau lần chạy đầu tiên của tôi, db thử nghiệm có tất cả dữ liệu đó vẫn còn trong đó. Tôi có thể lọc nó với db rake: test: purge và reinitialize nó. Đó có phải là một thực hành tốt?
"trước khi làm" nên được writte "Trước khi làm", bắt đầu với một chữ hoa – 0x4a6f4672