estoy usando seeds.rb para rellenar algunos datos de referencia del modelo de Estado:rieles Prevenir la prueba de eliminación de datos de semillas
State.create :name => 'Alabama', :abbreviation => 'AL'
State.create :name => 'Alaska', :abbreviation => 'AK'
# ...
Aunque no estoy utilizando accesorios estatales (ya que es la semilla de datos, para empezar, creo que es no estaría seca a tener que duplicar este puramente para pruebas), el marco de pruebas rieles parece borrar todos los datos de semillas del Estado durante la prueba. (Estoy abandonando, recreando, migrando y resembrando la prueba db, y confirmé que los datos están allí antes de ejecutar una prueba unitaria).
El resultado es que esta afirmación tiene éxito en seeds.rb pero falla en una prueba de una línea :
assert_equal 51, State.all.size
1) Failure:
test_state_seeds_are_present(StateTest) [/test/unit/state_test.rb:24]:
<51> expected but was
<0>.
1 tests, 1 assertions, 1 failures, 0 errors
he intentado ambos modelos enumerando explícitamente no estatales en la declaración de clase accesorios de prueba de base, así como apretar la bandera accesorios transaccional (como era de esperar, esto sólo afecta a los registros creados durante la prueba). Naturalmente, la prueba en cuestión no está eliminando estos registros.
Los registros estatales siempre se borran. ¿Hay alguna manera de decirle a Rails que simplemente se deshaga de los datos de las semillas? ¿Debo duplicar todos los datos en los accesorios para asegurarme de que se vuelvan a cargar? A falta de un evento político importante, yo esperaría que los datos del estado sean relativamente estables.
tia
Gracias chicos, voy a tratar tanto de (una sola vez) y weppos' (en la configuración) sugerencia para las semillas de cargar explícitamente Lucas datos en pruebas y ver cuál funciona mejor para mis propósitos. Tomaré como un hecho que las pruebas siempre nukearán primero los datos de DB. – aaron