Estoy escribiendo una aplicación web que se utiliza como SaS. Cada cliente tiene su propio directorio de aplicaciones y db, así que tengo una tarea de rake que crea todos los datos mínimos necesarios para ejecutar su sitio web: derechos y roles predeterminados, un usuario de superadmin, una tabla "us_states" ya poblada, algunos depósitos locales y terminales (es una aplicación de logística).Seed data in pepino tests
No tengo ningún escenario de pepino para él y acabo de empezar a construir algunos. Soy un principiante con pepino.
Primero puse esa tarea de datos semilla en una línea dada, pero eso es más o menos lo que se da para todos los escenarios, y no tiene mucho sentido para los no programadores que miran los escenarios (para humanos, es algo así que no necesita ser expresado conscientemente) así que lo moví a hooks.rb.
Mi primer escenario es el siguiente:
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
Mi hooks.rb se ve así:
1 Before do
2 MinimumData.new('costi', '1234').populate #username and password
3 end
Preguntas:
- no desea ejecutar este MinimumData. poblar tarea antes de cada escenario porque lleva 8 segundos. ¿Debo hacerlo funcionar solo una vez, globalmente? ¿Cómo?
- ¿Debo limpiar la base de datos con After.do? Realmente no quiero hacer eso, porque duplicaré la lógica en After.do, solo con las sentencias Model.delete_all. Me di cuenta de que después de mi primera ejecución, la prueba db tiene todos los datos todavía en. Puedo purgarlo con rake db: test: purgar y reiniciarlo. ¿Es eso una buena práctica?
"antes de hacer" debe ser writte "Antes de hacer", comenzando con una mayúscula – 0x4a6f4672